From: Mathieu Baudier Date: Sun, 6 Dec 2020 02:49:07 +0000 (+0100) Subject: Improve layers UI. X-Git-Tag: argeo-suite-2.1.16~10 X-Git-Url: http://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=8f189b5bdc0a67de24367ebfc12bd382dab939c7 Improve layers UI. --- diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/AdminEntryArea.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/AdminEntryArea.java index ce0f271..8c75f22 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/AdminEntryArea.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/AdminEntryArea.java @@ -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); diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java index 2070d90..c65cff5 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java @@ -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 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 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) { diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java index 4f5a333..1b41588 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java @@ -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(); diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteLayer.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteLayer.java index d1fa90d..8eb87d4 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteLayer.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteLayer.java @@ -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);