diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:57:50 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:57:50 +0000 |
commit | 0708bf4d1e1a9046c82c221170b3dd3709e71141 (patch) | |
tree | 386515c4dc318da9b466580301e39164ea8eea65 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java | |
parent | fdc0f9a9dfc7dabdc96bb830a079a353f160395c (diff) | |
download | pdf-over-0708bf4d1e1a9046c82c221170b3dd3709e71141.tar.gz pdf-over-0708bf4d1e1a9046c82c221170b3dd3709e71141.tar.bz2 pdf-over-0708bf4d1e1a9046c82c221170b3dd3709e71141.zip |
Removed Error State and replaced it with ErrorDialog
To get a stable user experience in case of an error.
ErrorDialog was improved to let the user decide if he wants to retry an
action.
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@58 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java index ece1cf7f..44ffd7f4 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java @@ -18,7 +18,7 @@ package at.asit.pdfover.gui.workflow; //Imports import java.lang.reflect.Constructor; -import org.eclipse.swt.SWTException; +import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; @@ -26,7 +26,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.MainWindow; -import at.asit.pdfover.gui.workflow.states.ErrorState; +import at.asit.pdfover.gui.controls.ErrorDialog; import at.asit.pdfover.gui.workflow.states.PrepareConfigurationState; import at.asit.pdfover.gui.workflow.states.State; @@ -86,9 +86,12 @@ public class StateMachineImpl implements StateMachine, GUIProvider { current.run(); } catch (Exception e) { log.error("StateMachine update: ", e); //$NON-NLS-1$ - ErrorState errorState = new ErrorState(this); - errorState.setException(e); - jumpToState(errorState); + ErrorDialog errorState = new ErrorDialog(this.getMainShell(), + SWT.NONE, "Unexpected Error", e, false); + //errorState.setException(e); + //jumpToState(errorState); + errorState.open(); + this.exit(); } if (this.exit) { @@ -355,4 +358,16 @@ public class StateMachineImpl implements StateMachine, GUIProvider { public ConfigManipulator getConfigManipulator() { return this.configProvider; } + + /* (non-Javadoc) + * @see at.asit.pdfover.gui.workflow.GUIProvider#getMainShell() + */ + @Override + public Shell getMainShell() { + if(this.shell == null) { + this.createMainWindow(); + } + + return this.shell; + } } |