import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.api.NodeConstants;
+import org.argeo.cms.Localized;
import org.argeo.cms.ui.CmsView;
import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.jcr.Jcr;
class SuiteUi extends Composite {
private static final long serialVersionUID = 6207018859086689108L;
private final static Log log = LogFactory.getLog(SuiteUi.class);
+
+ private Localized title;
private Composite header;
+ private Composite footer;
private Composite belowHeader;
private Composite leadPane;
private Composite dynamicArea;
private Session sysSession;
-// private Session homeSession;
+ private Session homeSession;
private Node userDir;
private Map<String, SuiteLayer> layers = new HashMap<>();
belowHeader = new Composite(this, SWT.NONE);
belowHeader.setLayoutData(CmsUiUtils.fillAll());
+
+ footer = new Composite(this, SWT.NONE);
+ footer.setLayout(CmsUiUtils.noSpaceGridLayout());
+ CmsUiUtils.style(footer, SuiteStyle.footer);
+ footer.setLayoutData(CmsUiUtils.fillWidth());
}
public void refreshBelowHeader(boolean initApp) {
}
throw new IllegalArgumentException("Layer is not registered.");
}
+
void addLayer(String id, SuiteLayer layer) {
layers.put(id, layer);
return header;
}
+ Composite getFooter() {
+ return footer;
+ }
+
Composite getLeadPane() {
return leadPane;
}
//
synchronized void initSessions(Repository repository, String userDirPath) throws RepositoryException {
this.sysSession = repository.login();
-// this.homeSession = repository.login(NodeConstants.HOME_WORKSPACE);
+ this.homeSession = repository.login(NodeConstants.HOME_WORKSPACE);
userDir = sysSession.getNode(userDirPath);
addDisposeListener((e) -> {
Jcr.logout(sysSession);
-// Jcr.logout(homeSession);
+ Jcr.logout(homeSession);
});
}
return sysSession;
if (NodeConstants.SYS_WORKSPACE.equals(workspaceName))
return sysSession;
-// else if (NodeConstants.HOME_WORKSPACE.equals(workspaceName))
-// return homeSession;
+ else if (NodeConstants.HOME_WORKSPACE.equals(workspaceName))
+ return homeSession;
else
throw new IllegalArgumentException("Unknown workspace " + workspaceName);
}
return cmsView;
}
+ public Localized getTitle() {
+ return title;
+ }
+
+ public void setTitle(Localized title) {
+ this.title = title;
+ }
+
}