X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FArgeoSuiteUi.java;fp=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FArgeoSuiteUi.java;h=2505c4596e60185c96ccd3e272b723b01a95f718;hb=5ace611de7a12d74a6b606861b89a2d3517514b0;hp=0000000000000000000000000000000000000000;hpb=5efb7665bbe5bf4cc4f4f24ee3bd02b07840aad5;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/ArgeoSuiteUi.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/ArgeoSuiteUi.java new file mode 100644 index 0000000..2505c45 --- /dev/null +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/ArgeoSuiteUi.java @@ -0,0 +1,99 @@ +package org.argeo.suite.ui; + +import org.argeo.cms.ui.util.CmsUiUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.custom.SashForm; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; + +public class ArgeoSuiteUi { + private Composite parent; + + private Composite header; + private Composite leadPane; + + private SashForm dynamicArea; + private Composite entryArea; + private CTabFolder editorArea; + + private Composite defaultBody; + + public ArgeoSuiteUi(Composite parent, int style) { + this.parent = parent; + parent.setLayout(CmsUiUtils.noSpaceGridLayout()); + + header = new Composite(parent, SWT.NONE); + CmsUiUtils.style(header, WorkStyles.header); + header.setLayoutData(CmsUiUtils.fillWidth()); + + Composite belowHeader = new Composite(parent, SWT.NONE); + belowHeader.setLayoutData(CmsUiUtils.fillAll()); + belowHeader.setLayout(CmsUiUtils.noSpaceGridLayout(2)); + + if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. + dynamicArea = new SashForm(belowHeader, SWT.HORIZONTAL); + leadPane = new Composite(belowHeader, SWT.NONE); + } else { + leadPane = new Composite(belowHeader, SWT.NONE); + dynamicArea = new SashForm(belowHeader, SWT.HORIZONTAL); + } + leadPane.setLayoutData(CmsUiUtils.fillHeight()); + CmsUiUtils.style(leadPane, WorkStyles.leadPane); + dynamicArea.setLayoutData(CmsUiUtils.fillAll()); + + if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. + editorArea = new CTabFolder(dynamicArea, SWT.NONE); + entryArea = new Composite(dynamicArea, SWT.NONE); + } else { + entryArea = new Composite(dynamicArea, SWT.NONE); + editorArea = new CTabFolder(dynamicArea, SWT.NONE); + } + int[] weights = new int[] { 2000, 8000 }; + dynamicArea.setWeights(weights); + + Composite buttons = new Composite(editorArea, SWT.NONE); + buttons.setLayout(new RowLayout(SWT.HORIZONTAL)); + Button delete = new Button(buttons, SWT.PUSH); + delete.setText("Delete"); + editorArea.setTopRight(buttons); + + CTabItem defaultTab = new CTabItem(editorArea, SWT.NONE); + defaultTab.setText("Home"); + defaultBody = new Composite(editorArea, SWT.NONE); + defaultTab.setControl(defaultBody); + + // editorArea.setSingle(true); + } + + Composite getParent() { + return parent; + } + + Composite getHeader() { + return header; + } + + Composite getLeadPane() { + return leadPane; + } + + SashForm getDynamicArea() { + return dynamicArea; + } + + Composite getEntryArea() { + return entryArea; + } + + CTabFolder getEditorArea() { + return editorArea; + } + + Composite getDefaultBody() { + return defaultBody; + } + +}