X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FArgeoSuiteUi.java;h=73dc2f4e4be0d2eeaf6485d5ba720cd7bd475da6;hb=29abcc0fa99e1c3fdee5beb9fff62b70b9dff519;hp=a2caa15b17138118df01e78c53044a96b5f5e9af;hpb=a5ba54441da727f3965105a71b3a114b31dd34de;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 index a2caa15..73dc2f4 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/ArgeoSuiteUi.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/ArgeoSuiteUi.java @@ -1,22 +1,28 @@ package org.argeo.suite.ui; -import static org.argeo.suite.ui.ArgeoSuiteIcon.dashboard; +import static org.argeo.suite.ui.SuiteIcon.dashboard; + +import javax.jcr.Session; import org.argeo.cms.ui.CmsTheme; +import org.argeo.cms.ui.CmsView; 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.GridData; import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; -public class ArgeoSuiteUi { - private Composite parent; +/** The {@link CmsView} for the work ergonomics of Argeo Suite. */ +public class ArgeoSuiteUi extends Composite { + private static final long serialVersionUID = 6207018859086689108L; private Composite header; + private Composite belowHeader; private Composite leadPane; private SashForm dynamicArea; @@ -27,17 +33,19 @@ public class ArgeoSuiteUi { private Composite defaultBody; private CmsTheme theme; + + private Session session; public ArgeoSuiteUi(Composite parent, int style) { + super(parent, style); theme = CmsTheme.getCmsTheme(parent); - this.parent = parent; - parent.setLayout(CmsUiUtils.noSpaceGridLayout()); + this.setLayout(CmsUiUtils.noSpaceGridLayout()); - header = new Composite(parent, SWT.NONE); - CmsUiUtils.style(header, WorkStyles.header); + header = new Composite(this, SWT.NONE); + CmsUiUtils.style(header, SuiteStyle.header); header.setLayoutData(CmsUiUtils.fillWidth()); - Composite belowHeader = new Composite(parent, SWT.NONE); + belowHeader = new Composite(this, SWT.NONE); belowHeader.setLayoutData(CmsUiUtils.fillAll()); belowHeader.setLayout(CmsUiUtils.noSpaceGridLayout(2)); @@ -49,7 +57,7 @@ public class ArgeoSuiteUi { dynamicArea = new SashForm(belowHeader, SWT.HORIZONTAL); } leadPane.setLayoutData(CmsUiUtils.fillHeight()); - CmsUiUtils.style(leadPane, WorkStyles.leadPane); + CmsUiUtils.style(leadPane, SuiteStyle.leadPane); dynamicArea.setLayoutData(CmsUiUtils.fillAll()); if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. @@ -63,21 +71,17 @@ public class ArgeoSuiteUi { dynamicArea.setWeights(weights); editorArea.setLayout(new GridLayout()); - // TODO make it dynamic - RecentItems recentItems = new RecentItems(); - recentItems.createUiPart(entryArea); - editorTabFolder = new CTabFolder(editorArea, SWT.NONE); editorTabFolder.setLayoutData(CmsUiUtils.fillAll()); + + // TODO make it dynamic Composite buttons = new Composite(editorTabFolder, SWT.NONE); - RowLayout buttonsLayout = new RowLayout(SWT.HORIZONTAL); - buttonsLayout.pack = false; - buttons.setLayout(buttonsLayout); - Button delete = new Button(buttons, SWT.FLAT); - delete.setImage(ArgeoSuiteIcon.delete.getSmallIcon(theme)); - // int size = ArgeoSuiteIcon.delete.getSmallIconSize(); - // delete.setBounds(delete.getBounds().x,delete.getBounds().y,size,size); - // delete.setSize(size, size); + buttons.setLayout(CmsUiUtils.noSpaceGridLayout()); + ToolBar toolBar = new ToolBar(buttons, SWT.NONE); + toolBar.setLayoutData(new GridData(SWT.END, SWT.TOP, false, false)); + ToolItem deleteItem = new ToolItem(toolBar, SWT.PUSH); + deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); + deleteItem.setEnabled(false); editorTabFolder.setTopRight(buttons); CTabItem defaultTab = new CTabItem(editorTabFolder, SWT.NONE); @@ -90,9 +94,9 @@ public class ArgeoSuiteUi { // editorArea.setSingle(true); } - Composite getParent() { - return parent; - } + /* + * GETTERS / SETTERS + */ Composite getHeader() { return header; @@ -118,4 +122,17 @@ public class ArgeoSuiteUi { return defaultBody; } + Composite getBelowHeader() { + return belowHeader; + } + + Session getSession() { + return session; + } + + void setSession(Session session) { + this.session = session; + } + + }