Use released Argeo Maven plugin
[gpl/argeo-suite.git] / core / org.argeo.suite.ui / src / org / argeo / suite / ui / SuiteUi.java
index 3c4474ff66edc12e0e3beee9f33323c7ed024f3c..469e36f466ba770ff081f331a1d1c086076e789a 100644 (file)
@@ -26,12 +26,14 @@ class SuiteUi extends Composite {
 
        private Localized title;
        private Composite header;
+       private Composite footer;
        private Composite belowHeader;
        private Composite leadPane;
+       private Composite sidePane;
        private Composite dynamicArea;
 
        private Session sysSession;
-//     private Session homeSession;
+       private Session homeSession;
        private Node userDir;
 
        private Map<String, SuiteLayer> layers = new HashMap<>();
@@ -52,20 +54,31 @@ class SuiteUi extends Composite {
 
                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) {
                CmsUiUtils.clear(belowHeader);
                int style = getStyle();
                if (initApp) {
-                       belowHeader.setLayout(CmsUiUtils.noSpaceGridLayout(2));
+                       belowHeader.setLayout(CmsUiUtils.noSpaceGridLayout(3));
 
                        if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc.
+                               sidePane = new Composite(belowHeader, SWT.NONE);
+                               sidePane.setLayout(CmsUiUtils.noSpaceGridLayout());
+                               sidePane.setLayoutData(CmsUiUtils.fillHeight());
                                dynamicArea = new Composite(belowHeader, SWT.NONE);
                                leadPane = new Composite(belowHeader, SWT.NONE);
                        } else {
                                leadPane = new Composite(belowHeader, SWT.NONE);
                                dynamicArea = new Composite(belowHeader, SWT.NONE);
+                               sidePane = new Composite(belowHeader, SWT.NONE);
+                               sidePane.setLayout(CmsUiUtils.noSpaceGridLayout());
+                               sidePane.setLayoutData(CmsUiUtils.fillHeight());
                        }
                        leadPane.setLayoutData(CmsUiUtils.fillHeight());
                        leadPane.setLayout(CmsUiUtils.noSpaceGridLayout());
@@ -168,7 +181,7 @@ class SuiteUi extends Composite {
        synchronized void logout() {
                userDir = null;
                Jcr.logout(sysSession);
-//             Jcr.logout(homeSession);
+               Jcr.logout(homeSession);
                currentLayerId = null;
                workAreas.clear();
        }
@@ -181,10 +194,18 @@ class SuiteUi extends Composite {
                return header;
        }
 
+       Composite getFooter() {
+               return footer;
+       }
+
        Composite getLeadPane() {
                return leadPane;
        }
 
+       Composite getSidePane() {
+               return sidePane;
+       }
+
        Composite getBelowHeader() {
                return belowHeader;
        }
@@ -195,11 +216,11 @@ class SuiteUi extends Composite {
 //
        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);
                });
        }
 
@@ -216,8 +237,8 @@ class SuiteUi extends Composite {
                        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);
        }