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;
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;
public class DefaultEditionLayer implements SuiteLayer {
private CmsUiProvider entryArea;
private CmsUiProvider workArea;
+ private List<String> weights = new ArrayList<>();
+ private boolean startMaximized = false;
@Override
public Control createUi(Composite parent, Node context) throws RepositoryException {
tabbedArea.open(uiProvider, context);
}
+ public void init(Map<String, Object> 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;
}
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;
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() {