From 5810f90913735936ef580fd78861b7b31835a6f4 Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:52:08 +0000 Subject: + Main Window Template + Some GUI Stuff git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@16 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../workflow/states/DataSourceSelectionState.java | 54 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java index 1458958f..223ba17d 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java @@ -16,8 +16,14 @@ package at.asit.pdfover.gui.workflow.states; //Imports +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Shell; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.components.DataSourceSelectComposite; import at.asit.pdfover.gui.workflow.Workflow; import at.asit.pdfover.gui.workflow.WorkflowState; @@ -32,10 +38,56 @@ public class DataSourceSelectionState extends WorkflowState { @SuppressWarnings("unused") private static final Logger log = LoggerFactory.getLogger(DataSourceSelectionState.class); + private DataSourceSelectComposite selectionComposite = null; + + private DataSourceSelectComposite getSelectionComposite(Workflow workflow) { + if(this.selectionComposite == null) { + this.selectionComposite = new DataSourceSelectComposite(workflow.getComposite(), SWT.RESIZE, workflow); + } + + return this.selectionComposite; + } + @Override public void update(Workflow workflow) { - // TODO Auto-generated method stub + DataSourceSelectComposite selection = this.getSelectionComposite(workflow); + + workflow.setTopControl(selection); + selection.layout(); + if(selection.isPress()) { + this.setNextState(new PositioningState()); + } else { + this.setNextState(this); + } + } + + private void recursiveHide(Control ctrl) { + if(ctrl instanceof Composite) { + Composite comp = (Composite)ctrl; + Control[] childs = comp.getChildren(); + for(int i = 0; i < childs.length; i++) { + this.recursiveHide(childs[i]); + } + } + ctrl.setVisible(false); + } + + /* (non-Javadoc) + * @see at.asit.pdfover.gui.workflow.WorkflowState#hideGUI() + */ + @Override + public void hideGUI() { + /*if(this.selectionComposite != null) { + Shell shell = this.selectionComposite.getShell(); + Composite comp = this.selectionComposite.getParent(); + recursiveHide(this.selectionComposite); + this.selectionComposite.layout(); + //this.selectionComposite.setVisible(false); + comp.layout(); + //shell.pack(true); + shell.layout(true); + }*/ } } -- cgit v1.2.3