]> git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.suite.ui/src/org/argeo/suite/ui/WorkLayer.java
Ignore target directories.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / WorkLayer.java
1 package org.argeo.suite.ui;
2
3 import org.argeo.cms.ui.CmsTheme;
4 import org.argeo.cms.ui.util.CmsUiUtils;
5 import org.argeo.cms.ui.widgets.TabbedArea;
6 import org.eclipse.swt.SWT;
7 import org.eclipse.swt.custom.SashForm;
8 import org.eclipse.swt.layout.GridLayout;
9 import org.eclipse.swt.widgets.Composite;
10
11 /** An app layer based on an entry area and an editor area. */
12 public class WorkLayer {
13 private CmsTheme theme;
14 private SashForm area;
15 private Composite entryArea;
16 private Composite editorArea;
17 private TabbedArea tabbedArea;
18
19 WorkLayer(Composite parent, int style) {
20 theme = CmsTheme.getCmsTheme(parent);
21 area = new SashForm(parent, SWT.HORIZONTAL);
22 area.setLayoutData(CmsUiUtils.coversAll());
23
24 if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc.
25 editorArea = new Composite(area, SWT.BORDER);
26 entryArea = new Composite(area, SWT.BORDER);
27 } else {
28 entryArea = new Composite(area, SWT.NONE);
29 editorArea = new Composite(area, SWT.NONE);
30 }
31 int[] weights = new int[] { 2000, 8000 };
32 area.setWeights(weights);
33 // editorArea.setLayout(CmsUiUtils.noSpaceGridLayout());
34 editorArea.setLayout(new GridLayout());
35
36 tabbedArea = new TabbedArea(editorArea, SWT.NONE);
37 tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.toStyleClass());
38 tabbedArea.setTabStyle(SuiteStyle.mainTab.toStyleClass());
39 tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.toStyleClass());
40 tabbedArea.setCloseIcon(SuiteIcon.close.getSmallIcon(theme));
41 tabbedArea.setLayoutData(CmsUiUtils.fillAll());
42 }
43
44 Composite getArea() {
45 return area;
46 }
47
48 Composite getEntryArea() {
49 return entryArea;
50 }
51
52 TabbedArea getTabbedArea() {
53 return tabbedArea;
54 }
55 }