X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultEditionLayer.java;h=7b8bb3eb360c7eb4f8d56fb25e8626e96a7998ce;hp=2070d9004e8b96ce0c6813b6416a74c794d030b9;hb=f709e4a3ae06e51f767eee8152b393eb1df97df4;hpb=04b175d2d983496765d902564a51563418badf7c 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..7b8bb3e 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,8 @@ import org.eclipse.swt.widgets.Control; public class DefaultEditionLayer implements SuiteLayer { private CmsUiProvider entryArea; private CmsUiProvider workArea; + private List weights = new ArrayList<>(); + private boolean startMaximized = false; @Override public Control createUi(Composite parent, Node context) throws RepositoryException { @@ -57,6 +64,12 @@ public class DefaultEditionLayer implements SuiteLayer { tabbedArea.open(uiProvider, context); } + public void init(Map properties) { + weights = LangUtils.toStringList(properties.get(Property.weights.name())); + startMaximized = properties.containsKey(Property.startMaximized.name()) + && "true".equals(properties.get(Property.startMaximized.name())); + } + public void setEntryArea(CmsUiProvider entryArea) { this.entryArea = entryArea; } @@ -67,9 +80,9 @@ public class DefaultEditionLayer implements SuiteLayer { TabbedArea createTabbedArea(Composite parent, CmsTheme theme) { TabbedArea tabbedArea = new TabbedArea(parent, SWT.NONE); - tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.toStyleClass()); - tabbedArea.setTabStyle(SuiteStyle.mainTab.toStyleClass()); - tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.toStyleClass()); + tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.style()); + tabbedArea.setTabStyle(SuiteStyle.mainTab.style()); + tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.style()); tabbedArea.setCloseIcon(SuiteIcon.close.getSmallIcon(theme)); tabbedArea.setLayoutData(CmsUiUtils.fillAll()); return tabbedArea; @@ -94,13 +107,25 @@ 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); + } + if (startMaximized) + setMaximizedControl(editorArea); editorArea.setLayout(new GridLayout()); if (DefaultEditionLayer.this.workArea == null) { tabbedArea = createTabbedArea(editorArea, theme); } + } Composite getEntryArea() {