summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwaer2015-08-10 15:36:55 +0200
committerStephan Schwaer2015-08-10 15:36:55 +0200
commit6d0319d80f6f30451cea80631997d6118eefbba3 (patch)
tree7671c3323905e49cc88604170c7104e7a8bc0ad5
parent[client] remove "New" button from image list context menu as it doesn't make ... (diff)
downloadtutor-module-6d0319d80f6f30451cea80631997d6118eefbba3.tar.gz
tutor-module-6d0319d80f6f30451cea80631997d6118eefbba3.tar.xz
tutor-module-6d0319d80f6f30451cea80631997d6118eefbba3.zip
[cient] improved lecture creation page and sorted versions list for combo in lecture details.
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java13
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java45
2 files changed, 45 insertions, 13 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 9b304df1..5d06f5b6 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
@@ -7,6 +7,8 @@ import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Calendar;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.List;
@@ -18,6 +20,7 @@ import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.ImageVersionDetails;
import org.openslx.bwlp.thrift.iface.LectureRead;
+import org.openslx.bwlp.thrift.iface.Organization;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
@@ -142,6 +145,14 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout {
// version combo
List<ImageVersionDetails> versions = image.getVersions();
+
+ // sort versions with createtime
+ Collections.sort(versions, new Comparator<ImageVersionDetails>() {
+ public int compare(ImageVersionDetails o1, ImageVersionDetails o2) {
+ return - Long.compare(o1.getCreateTime(), o2.getCreateTime());
+ }
+ });
+
cboVersions.setModel(new DefaultComboBoxModel<ImageVersionDetails>(versions.toArray(new ImageVersionDetails[versions.size()])));
cboVersions.setRenderer(new DefaultListCellRenderer() {
@Override
@@ -169,7 +180,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout {
// TODO grey out non editable components, lecture image has no permissions yet
- makeEditable(LecturePerms.canEdit(lecture));
+ //makeEditable(LecturePerms.canEdit(lecture));
pack();
MainWindow.centerShell(this);
setVisible(true);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
index 2531d392..13b71011 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
@@ -1,5 +1,6 @@
package org.openslx.dozmod.gui.wizard.layout;
+import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.util.Calendar;
import java.util.Date;
@@ -8,7 +9,9 @@ import java.util.Properties;
import javax.swing.Box;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
+import javax.swing.JScrollPane;
import javax.swing.JSpinner;
+import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SpinnerDateModel;
import javax.swing.text.DateFormatter;
@@ -25,12 +28,14 @@ import org.openslx.dozmod.util.DateLabelFormatter;
public abstract class LectureCreationPageLayout extends WizardPage {
protected JTextField lectureNameTextField;
+ protected JTextArea descriptionText;
protected JDatePickerImpl startDate;
protected JDatePickerImpl endDate;
protected JSpinner startTime;
protected JSpinner endTime;
protected JCheckBox networkAccessCheck;
protected JCheckBox examCheck;
+ protected JCheckBox autoUpdate;
private static final Properties pickerStrings = new Properties();
@@ -52,38 +57,54 @@ public abstract class LectureCreationPageLayout extends WizardPage {
setLayout(new GridBagLayout());
+ // helper index
+ int row = 0;
+
// lecture name
JLabel lectureNameLabel = new JLabel("Veranstaltungsname");
lectureNameTextField = new JTextField();
- add(lectureNameLabel, GridPos.get(0, 0));
- add(lectureNameTextField, GridPos.get(1, 0, 2, 1, true, false));
+ add(lectureNameLabel, GridPos.get(0, row));
+ add(lectureNameTextField, GridPos.get(1, row++, 2, 1, true, false));
+
+ JLabel descriptionCaption = new JLabel("Beschreibung");
+ descriptionText = new JTextArea();
+ descriptionText.setLineWrap(true);
+ descriptionText.setWrapStyleWord(true);
+ JScrollPane descPane = new JScrollPane(descriptionText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+ JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+ add(descriptionCaption, GridPos.get(0, row));
+ add(descPane, GridPos.get(1, row++, 2, 1, true, true));
// Start date/time
JLabel startDateLabel = new JLabel("Startdatum");
startDate = new JDatePickerImpl(new JDatePanelImpl(new UtilDateModel(new Date()), pickerStrings),
new DateLabelFormatter());
startTime = makeTimeSpinner(0, 0);
- add(startDateLabel, GridPos.get(0, 1));
- add(startDate, GridPos.get(1, 1));
- add(startTime, GridPos.get(2, 1));
+ add(startDateLabel, GridPos.get(0, row));
+ add(startDate, GridPos.get(1, row, 2, 1, false, false));
+ add(startTime, GridPos.get(2, row++, 1, 1, false, false));
JLabel endDateLabel = new JLabel("Enddatum");
endDate = new JDatePickerImpl(new JDatePanelImpl(new UtilDateModel(new Date()), pickerStrings),
new DateLabelFormatter());
endTime = makeTimeSpinner(23, 59);
- add(endDateLabel, GridPos.get(0, 2));
- add(endDate, GridPos.get(1, 2));
- add(endTime, GridPos.get(2, 2));
+ add(endDateLabel, GridPos.get(0, row));
+ add(endDate, GridPos.get(1, row));
+ add(endTime, GridPos.get(2, row++));
- add(Box.createVerticalStrut(10), GridPos.get(0, 3));
+ add(Box.createVerticalStrut(10), GridPos.get(0, row++));
// Options related to exams
examCheck = new JCheckBox("Veranstaltung ist eine Prüfung");
+ add(examCheck, GridPos.get(1, row++, 2, 1));
+
networkAccessCheck = new JCheckBox("Internet verfügbar");
- add(examCheck, GridPos.get(1, 4, 2, 1));
- add(examCheck, GridPos.get(1, 5, 2, 1));
+ add(networkAccessCheck, GridPos.get(1, row++, 2, 1));
+
+ autoUpdate = new JCheckBox("Aktuellste Imageversion verwenden");
+ add(autoUpdate, GridPos.get(1, row++, 2, 1));
- add(Box.createVerticalGlue(), GridPos.get(0, 6, true, true));
+ add(Box.createVerticalGlue(), GridPos.get(0, row++, true, true));
}
private JSpinner makeTimeSpinner(int h, int m) {