From 69f82291cd349961cca5d8a65b7f3f2f724ed74f Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:53:20 +0000 Subject: StateMachine cleanup JumpToState stuff git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@24 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../gui/workflow/states/PositioningState.java | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java index c7c92a89..2809bd25 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java @@ -23,7 +23,9 @@ import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.MainWindowBehavior; import at.asit.pdfover.gui.MainWindow.Buttons; import at.asit.pdfover.gui.composites.PositioningComposite; +import at.asit.pdfover.gui.workflow.ConfigProvider; import at.asit.pdfover.gui.workflow.StateMachine; +import at.asit.pdfover.gui.workflow.Status; /** * Decides where to position the signature block @@ -57,21 +59,37 @@ public class PositioningState extends State { @Override public void run() { - - if(this.stateMachine.getStatus().getSignaturePosition() == null) { + Status status = this.stateMachine.getStatus(); + if (!(status.getPreviousState() instanceof PositioningState) && + !(status.getPreviousState() instanceof OpenState)) + { + status.setSignaturePosition(null); + } + + + if(status.getSignaturePosition() == null) { PositioningComposite position = this.getPositioningComosite(); this.stateMachine.getGUIProvider().display(position); - this.stateMachine.getStatus().setSignaturePosition(position.getPosition()); + status.setSignaturePosition(position.getPosition()); - if(this.stateMachine.getStatus().getSignaturePosition() == null) { + if(status.getSignaturePosition() == null) { return; } } this.setNextState(new BKUSelectionState(this.stateMachine)); } + /* (non-Javadoc) + * @see at.asit.pdfover.gui.workflow.states.State#cleanUp() + */ + @Override + public void cleanUp() { + if (this.positionComposite != null) + this.positionComposite.dispose(); + } + /* (non-Javadoc) * @see at.asit.pdfover.gui.workflow.states.State#setMainWindowBehavior() */ -- cgit v1.2.3