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;fp=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultEditionLayer.java;h=0000000000000000000000000000000000000000;hp=7b8bb3eb360c7eb4f8d56fb25e8626e96a7998ce;hb=418ea1efbf3f0d6b706603c6ff1c0fdd17314773;hpb=70010c4afc5799622fcad5b075740d94da074798 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 deleted file mode 100644 index 7b8bb3e..0000000 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultEditionLayer.java +++ /dev/null @@ -1,144 +0,0 @@ -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.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; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** An app layer based on an entry area and an editor area. */ -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 { - if (entryArea != null) { - SashFormEditionArea sashFormEditionArea = new SashFormEditionArea(parent, parent.getStyle()); - entryArea.createUi(sashFormEditionArea.getEntryArea(), context); - if (this.workArea != null) { - this.workArea.createUi(sashFormEditionArea.getEditorArea(), context); - } - return sashFormEditionArea; - } else { - if (this.workArea != null) { - Composite area = new Composite(parent, SWT.NONE); - this.workArea.createUi(area, context); - return area; - } - CmsTheme theme = CmsTheme.getCmsTheme(parent); - TabbedArea tabbedArea = createTabbedArea(parent, theme); - return tabbedArea; - } - } - - @Override - public void view(CmsUiProvider uiProvider, Composite workArea, Node context) { - TabbedArea tabbedArea; - if (workArea instanceof SashFormEditionArea) { - tabbedArea = ((SashFormEditionArea) workArea).getTabbedArea(); - } else if (workArea instanceof TabbedArea) { - tabbedArea = (TabbedArea) workArea; - } else - throw new IllegalArgumentException("Unsupported work area " + workArea.getClass().getName()); - tabbedArea.view(uiProvider, context); - } - - @Override - public void open(CmsUiProvider uiProvider, Composite workArea, Node context) { - TabbedArea tabbedArea = ((SashFormEditionArea) workArea).getTabbedArea(); - 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; - } - - public void setWorkArea(CmsUiProvider workArea) { - this.workArea = workArea; - } - - TabbedArea createTabbedArea(Composite parent, CmsTheme theme) { - TabbedArea tabbedArea = new TabbedArea(parent, SWT.NONE); - 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; - } - - /** A work area based on an entry area and and a tabbed area. */ - class SashFormEditionArea extends SashForm { - private static final long serialVersionUID = 2219125778722702618L; - private CmsTheme theme; - private Composite entryArea; - private Composite editorArea; - private TabbedArea tabbedArea; - - SashFormEditionArea(Composite parent, int style) { - super(parent, SWT.HORIZONTAL); - theme = CmsTheme.getCmsTheme(parent); - - if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. - editorArea = new Composite(this, SWT.BORDER); - entryArea = new Composite(this, SWT.BORDER); - } else { - entryArea = new Composite(this, SWT.NONE); - editorArea = new Composite(this, SWT.NONE); - } - - 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() { - return entryArea; - } - - TabbedArea getTabbedArea() { - return tabbedArea; - } - - Composite getEditorArea() { - return editorArea; - } - - } -} \ No newline at end of file