Improve layers UI.
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 6 Dec 2020 02:49:07 +0000 (03:49 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 6 Dec 2020 02:49:07 +0000 (03:49 +0100)
org.argeo.suite.ui/src/org/argeo/suite/ui/AdminEntryArea.java
org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java
org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java
org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteLayer.java

index ce0f271207379ae4fecb0b2ccd553240fd084600..8c75f226cb75d1b4a9ab37c4e80db3ee14478255 100644 (file)
@@ -59,7 +59,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn givenNameCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               givenNameCol.getColumn().setWidth(70);
+               givenNameCol.getColumn().setWidth(150);
                givenNameCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -70,7 +70,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn snCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               snCol.getColumn().setWidth(70);
+               snCol.getColumn().setWidth(150);
                snCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -81,7 +81,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn mailCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               mailCol.getColumn().setWidth(200);
+               mailCol.getColumn().setWidth(400);
                mailCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -130,7 +130,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                addItem.addSelectionListener((Selected) (e) -> {
-                       //SuiteUtils.getOrCreateUserNode(adminSession, userDn);
+                       // SuiteUtils.getOrCreateUserNode(adminSession, userDn);
                        Wizard wizard = new NewUserWizard(null);
                        CmsWizardDialog dialog = new CmsWizardDialog(parent.getShell(), wizard);
                        // WizardDialog dialog = new WizardDialog(shell, wizard);
index 2070d9004e8b96ce0c6813b6416a74c794d030b9..c65cff50088aff32d38ecb7386f85a96a94d5bb1 100644 (file)
@@ -1,5 +1,9 @@
 package org.argeo.suite.ui;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 
@@ -7,6 +11,7 @@ import org.argeo.cms.ui.CmsTheme;
 import org.argeo.cms.ui.CmsUiProvider;
 import org.argeo.cms.ui.util.CmsUiUtils;
 import org.argeo.cms.ui.widgets.TabbedArea;
+import org.argeo.util.LangUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
 import org.eclipse.swt.layout.GridLayout;
@@ -17,6 +22,7 @@ import org.eclipse.swt.widgets.Control;
 public class DefaultEditionLayer implements SuiteLayer {
        private CmsUiProvider entryArea;
        private CmsUiProvider workArea;
+       private List<String> weights = new ArrayList<>();
 
        @Override
        public Control createUi(Composite parent, Node context) throws RepositoryException {
@@ -57,6 +63,10 @@ public class DefaultEditionLayer implements SuiteLayer {
                tabbedArea.open(uiProvider, context);
        }
 
+       public void init(Map<String, Object> properties) {
+               weights = LangUtils.toStringList(properties.get(Property.weights.name()));
+       }
+
        public void setEntryArea(CmsUiProvider entryArea) {
                this.entryArea = entryArea;
        }
@@ -94,8 +104,17 @@ public class DefaultEditionLayer implements SuiteLayer {
                                entryArea = new Composite(this, SWT.NONE);
                                editorArea = new Composite(this, SWT.NONE);
                        }
-                       int[] weights = new int[] { 3000, 7000 };
-                       setWeights(weights);
+
+                       if (weights.size() != 0) {
+                               int[] actualWeight = new int[weights.size()];
+                               for (int i = 0; i < weights.size(); i++) {
+                                       actualWeight[i] = Integer.parseInt(weights.get(i));
+                                       setWeights(actualWeight);
+                               }
+                       } else {
+                               int[] actualWeights = new int[] { 3000, 7000 };
+                               setWeights(actualWeights);
+                       }
                        editorArea.setLayout(new GridLayout());
 
                        if (DefaultEditionLayer.this.workArea == null) {
index 4f5a3335cba62203a2291d35d8477e25c598c5f5..1b415886c75bbf820dc48d4305b8ca7d504385f6 100644 (file)
@@ -228,7 +228,7 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler {
        public void setState(Composite parent, String state) {
                if (state == null)
                        return;
-               if (!state.startsWith("/")) {
+               if (!state.startsWith("/") && !state.equals("~")) {
                        if (parent instanceof SuiteUi) {
                                SuiteUi ui = (SuiteUi) parent;
                                String currentLayerId = ui.getCurrentLayerId();
index d1fa90d1f0ee837684415f692c5e6ce082863f80..8eb87d465bc1a09185f61d948c14c6cc1bcb5d0e 100644 (file)
@@ -8,7 +8,7 @@ import org.eclipse.swt.widgets.Composite;
 /** An UI layer for the main work area. */
 public interface SuiteLayer extends CmsUiProvider {
        static enum Property {
-               title,icon;
+               title, icon, weights;
        }
 
        void view(CmsUiProvider uiProvider, Composite workArea, Node context);