summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java
diff options
context:
space:
mode:
authortkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:53:11 +0000
committertkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:53:11 +0000
commitb2968bef5d56723826cfe38f1fe5ab1d60aa79f3 (patch)
tree8bf68cf3b7c8a6d80d3338046110a6decd60fce2 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java
parent2e533b04ae8b232a50a83101692e20cda53696fb (diff)
downloadpdf-over-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.tar.gz
pdf-over-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.tar.bz2
pdf-over-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.zip
State Machine refactoring
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@23 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java
new file mode 100644
index 00000000..ee90a69b
--- /dev/null
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OpenState.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://joinup.ec.europa.eu/software/page/eupl
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ */
+package at.asit.pdfover.gui.workflow.states;
+
+//Imports
+import org.eclipse.swt.SWT;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.asit.pdfover.gui.MainWindowBehavior;
+import at.asit.pdfover.gui.MainWindow.Buttons;
+import at.asit.pdfover.gui.composites.DataSourceSelectComposite;
+import at.asit.pdfover.gui.workflow.StateMachine;
+
+/**
+ * Selects the data source for the signature process.
+ */
+public class OpenState extends State {
+
+ /**
+ * @param stateMachine
+ */
+ public OpenState(StateMachine stateMachine) {
+ super(stateMachine);
+ }
+
+ /**
+ * SFL4J Logger instance
+ **/
+ private static final Logger log = LoggerFactory
+ .getLogger(OpenState.class);
+
+ private DataSourceSelectComposite selectionComposite = null;
+
+ private DataSourceSelectComposite getSelectionComposite() {
+ if (this.selectionComposite == null) {
+ this.selectionComposite = new DataSourceSelectComposite(
+ this.stateMachine.getGUIProvider().getComposite(), SWT.RESIZE, this);
+ }
+
+ return this.selectionComposite;
+ }
+
+ @Override
+ public void run() {
+
+ if (this.stateMachine.getStatus().getDocument() == null) {
+ DataSourceSelectComposite selection = this
+ .getSelectionComposite();
+
+ this.stateMachine.getGUIProvider().display(selection);
+ selection.layout();
+
+ this.stateMachine.getStatus().setDocument(selection.getSelected());
+
+ if (this.stateMachine.getStatus().getDocument() == null) {
+ // Not selected yet
+ return;
+ }
+ }
+ log.debug("Got Datasource: " + this.stateMachine.getStatus().getDocument().getAbsolutePath());
+ this.setNextState(new PositioningState(this.stateMachine));
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.states.State#setMainWindowBehavior()
+ */
+ @Override
+ public void updateMainWindowBehavior() {
+ MainWindowBehavior behavior = this.stateMachine.getStatus().getBehavior();
+ behavior.reset();
+ behavior.setEnabled(Buttons.CONFIG, true);
+ behavior.setActive(Buttons.OPEN, true);
+ }
+
+ @Override
+ public String toString() {
+ return this.getClass().getName();
+ }
+}