Fix Javadoc issue
[gpl/argeo-suite.git] / org.argeo.app.ui / src / org / argeo / app / ui / SuiteUi.java
index 2e0007bf6fd6746609e5a4fb07cf41bf769a8e76..02ff38e73a2b969759b493466609bc04c24d6e8b 100644 (file)
@@ -3,21 +3,17 @@ package org.argeo.app.ui;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.jcr.Node;
-
 import org.argeo.api.acr.Content;
 import org.argeo.api.cms.CmsLog;
-import org.argeo.api.cms.CmsUi;
-import org.argeo.api.cms.CmsView;
 import org.argeo.cms.Localized;
-import org.argeo.cms.jcr.acr.JcrContent;
+import org.argeo.cms.swt.CmsSwtUi;
 import org.argeo.cms.swt.CmsSwtUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.FormLayout;
 import org.eclipse.swt.widgets.Composite;
 
 /** The view for the default ergonomics of Argeo Suite. */
-class SuiteUi extends Composite implements CmsUi {
+class SuiteUi extends CmsSwtUi {
        private static final long serialVersionUID = 6207018859086689108L;
        private final static CmsLog log = CmsLog.getLog(SuiteUi.class);
 
@@ -37,11 +33,11 @@ class SuiteUi extends Composite implements CmsUi {
        private Map<String, Composite> workAreas = new HashMap<>();
        private String currentLayerId = null;
 
-       private CmsView cmsView;
+       private boolean loginScreen = false;
+//     private String postLoginState;
 
        public SuiteUi(Composite parent, int style) {
                super(parent, style);
-               cmsView = CmsSwtUtils.getCmsView(parent);
                this.setLayout(CmsSwtUtils.noSpaceGridLayout());
 
                header = new Composite(this, SWT.NONE);
@@ -103,7 +99,7 @@ class SuiteUi extends Composite implements CmsUi {
                return currentLayerId;
        }
 
-       private Composite getLayer(String id, Node context) {
+       private Composite getLayer(String id, Content context) {
                if (!layers.containsKey(id))
                        return null;
                if (!workAreas.containsKey(id))
@@ -111,7 +107,7 @@ class SuiteUi extends Composite implements CmsUi {
                return workAreas.get(id);
        }
 
-       Composite switchToLayer(String layerId, Node context) {
+       Composite switchToLayer(String layerId, Content context) {
                Composite current = null;
                if (currentLayerId != null) {
                        current = getCurrentWorkArea();
@@ -119,7 +115,7 @@ class SuiteUi extends Composite implements CmsUi {
                                return current;
                }
                if (context == null) {
-                       if (!cmsView.isAnonymous())
+                       if (!getCmsView().isAnonymous())
                                context = getUserDirNode();
                }
                Composite toShow = getLayer(layerId, context);
@@ -143,12 +139,13 @@ class SuiteUi extends Composite implements CmsUi {
                }
        }
 
-       Composite switchToLayer(SuiteLayer layer, Node context) {
+       void switchToLayer(SuiteLayer layer, Content context) {
                // TODO make it more robust
                for (String layerId : layers.keySet()) {
                        SuiteLayer l = layers.get(layerId);
-                       if (layer == l) {
-                               return switchToLayer(layerId, context);
+                       if (layer.getId().equals(l.getId())) {
+                               switchToLayer(layerId, context);
+                               return;
                        }
                }
                throw new IllegalArgumentException("Layer is not registered.");
@@ -167,8 +164,8 @@ class SuiteUi extends Composite implements CmsUi {
                }
        }
 
-       protected Composite initLayer(String id, SuiteLayer layer, Node context) {
-               Composite workArea = cmsView.doAs(() -> (Composite) layer.createUiPart(dynamicArea, context));
+       protected Composite initLayer(String id, SuiteLayer layer, Content context) {
+               Composite workArea = getCmsView().doAs(() -> (Composite) layer.createUiPart(dynamicArea, context));
                CmsSwtUtils.style(workArea, SuiteStyle.workArea);
                workArea.setLayoutData(CmsSwtUtils.coverAll());
                workAreas.put(id, workArea);
@@ -221,10 +218,15 @@ class SuiteUi extends Composite implements CmsUi {
 //             });
 //     }
 
-       Node getUserDirNode() {
+       @Deprecated
+       Content getUserDirNode() {
                if (userDir == null)
                        return null;
-               return ((JcrContent) userDir).getJcrNode();
+               return userDir;
+       }
+
+       Content getUserDir() {
+               return userDir;
        }
 
        void setUserDir(Content userDir) {
@@ -246,10 +248,6 @@ class SuiteUi extends Composite implements CmsUi {
 //                     throw new IllegalArgumentException("Unknown workspace " + workspaceName);
 //     }
 
-       public CmsView getCmsView() {
-               return cmsView;
-       }
-
        public Localized getTitle() {
                return title;
        }
@@ -258,4 +256,20 @@ class SuiteUi extends Composite implements CmsUi {
                this.title = title;
        }
 
+       public boolean isLoginScreen() {
+               return loginScreen;
+       }
+
+       public void setLoginScreen(boolean loginScreen) {
+               this.loginScreen = loginScreen;
+       }
+
+//     public String getPostLoginState() {
+//             return postLoginState;
+//     }
+//
+//     public void setPostLoginState(String postLoginState) {
+//             this.postLoginState = postLoginState;
+//     }
+
 }