summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java54
1 files changed, 53 insertions, 1 deletions
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);
+ }*/
}
}