summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java25
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java67
2 files changed, 63 insertions, 29 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
index 8d1f046c..191eecdb 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
@@ -9,6 +9,7 @@ import org.openslx.bwlp.thrift.iface.ImageVersionWrite;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
+import org.openslx.dozmod.gui.helper.UiFeedback;
import org.openslx.dozmod.gui.window.ImageListWindow;
import org.openslx.dozmod.gui.wizard.page.ImageCustomPermissionPage;
import org.openslx.dozmod.gui.wizard.page.ImageMetaDataPage;
@@ -18,11 +19,11 @@ import org.openslx.dozmod.thrift.Session;
import org.openslx.thrifthelper.ThriftManager;
@SuppressWarnings("serial")
-public class ImageWizard extends Wizard {
+public class ImageWizard extends Wizard implements UiFeedback {
private final static Logger LOGGER = Logger.getLogger(ImageWizard.class);
- private final UploadWizardState uploadWizardState = new UploadWizardState();;
+ private final UploadWizardState uploadWizardState = new UploadWizardState();
protected ImageUploadPage imageUploadPage;
protected ImageMetaDataPage imageMetaDataPage;
protected ImageCustomPermissionPage imageCustomPermissionPage;
@@ -92,10 +93,6 @@ public class ImageWizard extends Wizard {
MessageType.ERROR, LOGGER, e);
return;
}
-
- Gui.showMessageBox(this, "Creation of image worked :)", MessageType.INFO, LOGGER, null);
- // redirect to ImageListWindow
- MainWindow.showPage(ImageListWindow.class);
}
private boolean isStateValid() {
@@ -161,4 +158,20 @@ public class ImageWizard extends Wizard {
uploadWizardState.selectedOs.getOsId(), uploadWizardState.meta.getVirtualizer().getVirtId(),
uploadWizardState.isTemplate, uploadWizardState.permissions, uploadWizardState.shareMode);
}
+
+ @Override
+ protected boolean onCancelRequest() {
+ return Gui.showMessageBox(this, "Möchten Sie den Vorgang wirklich abbrechen?",
+ MessageType.QUESTION_YESNO, null, null);
+ }
+
+ @Override
+ public boolean wantConfirmQuit() {
+ return uploadWizardState.uuid != null;
+ }
+
+ @Override
+ public void escapePressed() {
+ doCancel();
+ }
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java
index ed6e6380..bcacdde3 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java
@@ -106,50 +106,32 @@ public class Wizard extends JDialog {
@Override
public void windowClosing(WindowEvent we) {
- if (onCancelRequest())
- dispose();
+ doCancel();
}
});
// Äkschns
btnNext.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if (currentPage + 1 < pages.size()) {
- if (!pages.get(currentPage).wantNextOrFinish())
- return; // Page canceled the operation
- showPage(currentPage + 1);
- }
+ doNext();
}
});
btnPrev.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if (currentPage > 0) {
- showPage(currentPage - 1);
- }
+ doPrevious();
}
});
btnCancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if (onCancelRequest())
- dispose();
+ doCancel();
}
});
btnFinish.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if (currentPage != -1) {
- if (!pages.get(currentPage).wantNextOrFinish())
- return;
- }
- if (wantFinish()) {
- if (currentPage != -1) {
- pages.get(currentPage).onPageLeave();
- }
- performFinish();
- dispose();
- }
+ doFinish();
}
});
}
@@ -216,6 +198,45 @@ public class Wizard extends JDialog {
}
}
+ protected final void doNext() {
+ if (!btnNext.isEnabled())
+ return;
+ if (currentPage + 1 < pages.size()) {
+ if (!pages.get(currentPage).wantNextOrFinish())
+ return; // Page canceled the operation
+ showPage(currentPage + 1);
+ }
+ }
+
+ protected final void doPrevious() {
+ if (!btnPrev.isEnabled())
+ return;
+ if (currentPage > 0) {
+ showPage(currentPage - 1);
+ }
+ }
+
+ protected final void doCancel() {
+ if (onCancelRequest())
+ dispose();
+ }
+
+ protected final void doFinish() {
+ if (!btnFinish.isEnabled())
+ return;
+ if (currentPage != -1) {
+ if (!pages.get(currentPage).wantNextOrFinish())
+ return;
+ }
+ if (wantFinish()) {
+ if (currentPage != -1) {
+ pages.get(currentPage).onPageLeave();
+ }
+ performFinish();
+ dispose();
+ }
+ }
+
/*
* Callback to wizard implementation
*/