X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FWorkLayer.java;fp=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FWorkLayer.java;h=e2afb158e5cbd1bcc270c76bf25c80a1900119e4;hb=d489d6463806f4da4a70181741d6665357f2c0e6;hp=0000000000000000000000000000000000000000;hpb=1b14c471f53d439ade788f3e3ef136ccaa9bf1be;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/WorkLayer.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/WorkLayer.java new file mode 100644 index 0000000..e2afb15 --- /dev/null +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/WorkLayer.java @@ -0,0 +1,55 @@ +package org.argeo.suite.ui; + +import org.argeo.cms.ui.CmsTheme; +import org.argeo.cms.ui.util.CmsUiUtils; +import org.argeo.cms.ui.widgets.TabbedArea; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.SashForm; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; + +/** An app layer based on an entry area and an editor area. */ +public class WorkLayer { + private CmsTheme theme; + private SashForm area; + private Composite entryArea; + private Composite editorArea; + private TabbedArea tabbedArea; + + WorkLayer(Composite parent, int style) { + theme = CmsTheme.getCmsTheme(parent); + area = new SashForm(parent, SWT.HORIZONTAL); + area.setLayoutData(CmsUiUtils.coversAll()); + + if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. + editorArea = new Composite(area, SWT.BORDER); + entryArea = new Composite(area, SWT.BORDER); + } else { + entryArea = new Composite(area, SWT.NONE); + editorArea = new Composite(area, SWT.NONE); + } + int[] weights = new int[] { 2000, 8000 }; + area.setWeights(weights); +// editorArea.setLayout(CmsUiUtils.noSpaceGridLayout()); + editorArea.setLayout(new GridLayout()); + + tabbedArea = new TabbedArea(editorArea, SWT.NONE); + tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.toStyleClass()); + tabbedArea.setTabStyle(SuiteStyle.mainTab.toStyleClass()); + tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.toStyleClass()); + tabbedArea.setCloseIcon(SuiteIcon.close.getSmallIcon(theme)); + tabbedArea.setLayoutData(CmsUiUtils.fillAll()); + } + + Composite getArea() { + return area; + } + + Composite getEntryArea() { + return entryArea; + } + + TabbedArea getTabbedArea() { + return tabbedArea; + } +} \ No newline at end of file