summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-26 16:56:33 +0200
committerJonathan Bauer2015-08-26 16:56:33 +0200
commit8884827d5dc3f3e2cd6ee7e3816a83bb78bb4e29 (patch)
treeecc3b165c93eb6a580694badda35516257598010 /dozentenmodul/src/main/java/org/openslx
parentAdd eclipse code formatter style (diff)
downloadtutor-module-8884827d5dc3f3e2cd6ee7e3816a83bb78bb4e29.tar.gz
tutor-module-8884827d5dc3f3e2cd6ee7e3816a83bb78bb4e29.tar.xz
tutor-module-8884827d5dc3f3e2cd6ee7e3816a83bb78bb4e29.zip
[client] LectureImageListPage user feedback based on his selection
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java1
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java41
3 files changed, 38 insertions, 8 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
index f0ba8123..dcdb938e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
@@ -113,7 +113,6 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
});
btnLinkImage.addActionListener(new ActionListener() {
-
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java
index 98a2bde3..617279a0 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java
@@ -121,7 +121,9 @@ public class LectureCreationPage extends LectureCreationPageLayout {
state.end = end;
}
}
- setDescription("Klicken Sie auf 'Weiter' für Berechtigungen oder 'Fertigstellen'");
+ String nextText;
+ nextText = state.image == null ? ", um ein Image auszuwählen" : " für Berechtigung oder 'Fertigstellen'";
+ setDescription("Klicken Sie auf 'Weiter' " + nextText);
return true;
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
index d325ea53..c90d80ae 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
@@ -1,5 +1,8 @@
package org.openslx.dozmod.gui.wizard.page;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.dozmod.gui.control.table.ImageTable;
@@ -27,24 +30,50 @@ public class LectureImageListPage extends LectureImageListPageLayout {
public LectureImageListPage(Wizard wizard, LectureWizardState state) {
super(wizard);
this.state = state;
- setPageComplete(true);
+ setPageComplete(false);
+ imageTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ @Override
+ public void valueChanged(ListSelectionEvent e) {
+ reactToUserInput();
+ }
+ });
}
@Override
protected void onPageEnter() {
imageListViewer.refreshList(false, 1);
}
-
+ /**
+ * Called by event listeners. This will set guidance message or error
+ * message and call setPageComplete(bool) accordingly.
+ * The state will be updated if the fields are valid.
+ */
+ private boolean reactToUserInput() {
+ boolean b = isPageValid();
+ setPageComplete(b);
+ return b;
+ }
@Override
protected boolean wantNextOrFinish() {
- return saveToState();
+ return reactToUserInput();
}
- private boolean saveToState() {
- ImageSummaryRead selected = imageListViewer.getImageTable().getSelectedItem();
- if (selected != null) {
+ private boolean isPageValid() {
+ ImageSummaryRead selected = imageTable.getSelectedItem();
+ if (selected == null)
+ return false;
+ String detailText = "";
+ if (!selected.isValid) {
+ detailText = "Invalid";
+ } else if (selected.getLatestVersionId() == null) {
+ detailText = "Keine Version";
+ } else {
+ // valid, save to state
state.image = selected;
+ state.imageVersionId = selected.getLatestVersionId();
+ setDescription("Klicken Sie auf 'Weiter'");
return true;
}
+ setErrorMessage("Ungültiges Image ausgewählt: " + detailText);
return false;
}