summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2015-09-15 18:01:19 +0200
committerJonathan Bauer2015-09-15 18:01:19 +0200
commit9cfc10574f6c9e505b28cc69ce75763edd7bf23a (patch)
treeb581d385bef9ef257a6a48460e531e23b9c520ff
parent[client] only use the first part of the given username if the organization ex... (diff)
parent[client] Erstversion Lizensierung DozMod (diff)
downloadtutor-module-9cfc10574f6c9e505b28cc69ce75763edd7bf23a.tar.gz
tutor-module-9cfc10574f6c9e505b28cc69ce75763edd7bf23a.tar.xz
tutor-module-9cfc10574f6c9e505b28cc69ce75763edd7bf23a.zip
Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/SatelliteTable.java24
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java57
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java21
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java84
4 files changed, 73 insertions, 113 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/SatelliteTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/SatelliteTable.java
deleted file mode 100644
index 83fd0650..00000000
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/SatelliteTable.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openslx.dozmod.gui.control.table;
-
-import org.openslx.bwlp.thrift.iface.Satellite;
-
-@SuppressWarnings("serial")
-public class SatelliteTable extends ListTable<Satellite> {
-
- public static final ListTableColumn COL_NAME = new ListTableColumn("Name");
- public static final ListTableColumn COL_ADDRESSES = new ListTableColumn("Adressen");
-
- public SatelliteTable() {
- super(COL_NAME, COL_ADDRESSES);
- }
-
- @Override
- protected Object getValueAtInternal( Satellite sat, ListTableColumn column) {
- if (column == COL_NAME)
- return sat.getDisplayName();
- if (column == COL_ADDRESSES)
- return sat.getAddressList();
- throw new IndexOutOfBoundsException();
- }
-
-}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
index 8ab78823..3980f315 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
@@ -3,12 +3,11 @@ package org.openslx.dozmod.gui.window;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
+import javax.swing.JRadioButton;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.Satellite;
@@ -35,43 +34,49 @@ public class SatelliteListWindow extends SatelliteListWindowLayout implements Ui
* Don't use this, use the static function open instead.
*/
public SatelliteListWindow(final Window modalParent, List<Satellite> satList) {
- super(modalParent);
+ super(modalParent, satList);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+ // Check, whether we have any satellites
if (satList != null && !satList.isEmpty()){
- satelliteTable.setData(satList, true);
- radioSatelliteTable.setSelected(true);
+ satelliteButtons[0].setSelected(true);
customIpField.setEnabled(false);
- satelliteTable.setSelectedItem(satelliteTable.getModelRow(0));
} else {
- radioSatelliteTable.setEnabled(false);
radioCustomIp.setSelected(true);
}
+ // deactivate the custom field when selecting a satellite to make things clearer for user
+ for ( int i = 0; i < satCount; i++ ){
+ satelliteButtons[i].addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ customIpField.setEnabled(false);
+ }
+ });
+ }
+
radioCustomIp.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
- satelliteTable.setEnabled(false);
customIpField.setEnabled(true);
- satelliteTable.clearSelection();
- }
- });
-
- radioSatelliteTable.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- satelliteTable.setEnabled(true);
- customIpField.setEnabled(false);
- satelliteTable.setSelectedItem(satelliteTable.getModelRow(0));
}
});
exitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- if(radioSatelliteTable.isSelected() && satelliteTable.getSelectedItem() != null)
- satellite = satelliteTable.getSelectedItem();
- else {
+ // satellite is selected
+ if(!radioCustomIp.isSelected()){
+ // check, which satellite is selected
+ for (JRadioButton button : satelliteButtons) {
+ if(button.isSelected()){
+ // return it.
+ satellite = radioToSat.get(button);
+ }
+ }
+ }
+ // custom button selected or something went wrong
+ if (satellite == null || radioCustomIp.isSelected()) {
satellite = new Satellite();
satellite.addressList = new ArrayList<String>();
satellite.addressList.add(customIpField.getText());
@@ -82,16 +87,6 @@ public class SatelliteListWindow extends SatelliteListWindowLayout implements Ui
getRootPane().setDefaultButton(exitButton);
- satelliteTable.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- if(satelliteTable.isEnabled()){
- if (e.getClickCount() == 2) {
- exitButton.doClick();
- }
- }
- }
- });
Gui.centerShellOverShell(modalParent, this);
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java
index 6387543e..e1d5cae3 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java
@@ -21,22 +21,17 @@ import org.openslx.dozmod.gui.helper.GridManager;
@SuppressWarnings("serial")
public abstract class DisclaimerWindowLayout extends JDialog {
- protected String notice = "Bitte lesen und bestätigen Sie folgende rechtliche Hinweise";
- protected String disclaimer = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n\n"
- + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \n\n"
- + "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.\n\n"
- + "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.\n\n"
- + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.\n\n"
- + "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.\n\n"
- + "Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus.\n\n"
- + "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\n"
- + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\n\n"
- + "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.\n\n"
- + "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo";
+ protected String notice = "Bitte lesen und bestätigen Sie folgende rechtliche Hinweise:";
+ protected String disclaimer = "bwLehrpool-bwSuite (Dozentenmodul)\nCopyright © 2015 Universität Freiburg\n\n"
+ + "Die Verwendung dieses Programms ist nur in Abstimmung mit der jeweils beteiligten Hochschulinstitution zulässig und unterliegt deren Bestimmungen und Einschränkungen. Insbesondere wird darauf hingewiesen, dass im Rahmen des bwLehrpool-Systems Virtuelle Maschinen, die unfrei lizensierte Software enthalten, nur mit Erlaubnis bzw. Lizenzierung der betreffenden Rechteinhaber eingesetzt und weitergegeben werden dürfen.\n\n\n"
+ + "Lizenzierung des Programms\n\n"
+ + "Dieses Programm ist freie Software. Es kann unter den Bedingungen der GNU General Public License (GPL) Version 2 verändert und weitergegeben werden. Der vollständige Text der GNU General Public Licence der Version 2 (GPL2) kann hier http://www.gnu.org/licenses/old-licenses/gpl-2.0.html eingesehen werden.\n\n"
+ + "Es wird, soweit gesetzlich zulässig, keinerlei Gewährleistung für dieses Programm, weder ausdrücklich noch implizit, geleistet. Der Urheberrechtsinhaber stellt das Programm „wie es ist“ zur Verfügung. Es werden einschließlich Marktreife oder Verwendbarkeit für einen bestimmten Zweck keinerlei Eigenschaften zugesichert."
+ + "Das volle Risiko bezüglich Qualität, Leistungsfähigkeit oder jeglicher allgemeiner oder spezieller Schäden, Schäden durch Nebenwirkungen oder Folgeschäden, die aus Benutzung oder Unbenutzbarkeit des Programms folgen (einschließlich Datenverlusten oder fehlerhafter Verarbeitung von Daten)liegt auf Seiten des Anwenders / der Anwenderin.\n\n";
protected String checkboxText = "Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen.";
- private static String title = "bwLehrpool Suite";
+ private static String title = "bwLehrpool-Suite";
private static String noticeLabel = "Hinweis";
private static String continueButtonLabel = "Weiter";
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
index d404a082..cb1dc3a1 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
@@ -2,6 +2,8 @@ package org.openslx.dozmod.gui.window.layout;
import java.awt.Dimension;
import java.awt.Window;
+import java.util.HashMap;
+import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
@@ -11,62 +13,58 @@ import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
import javax.swing.JTextField;
-import javax.swing.UIManager;
-import org.openslx.dozmod.gui.Gui;
-import org.openslx.dozmod.gui.control.table.SatelliteTable;
+import org.openslx.bwlp.thrift.iface.Satellite;
import org.openslx.dozmod.gui.helper.GridManager;
@SuppressWarnings("serial")
public class SatelliteListWindowLayout extends JDialog {
- protected final SatelliteTable satelliteTable;
-
protected final JButton exitButton;
protected final JTextField customIpField;
protected final JRadioButton radioCustomIp;
- protected final JRadioButton radioSatelliteTable;
-
+ protected final JRadioButton[] satelliteButtons;
+ protected final int satCount;
+ protected final HashMap<JRadioButton, Satellite> radioToSat = new HashMap<JRadioButton, Satellite>();
+ protected final ButtonGroup btnGroup;
+
private static String title = "Liste an Satelliten";
- protected SatelliteListWindowLayout(Window modalParent) {
+ protected SatelliteListWindowLayout(Window modalParent, List<Satellite> satList) {
super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL
: ModalityType.MODELESS);
- GridManager grid = new GridManager(this, 1);
+ GridManager windowGrid = new GridManager(this, 1);
+ JPanel radioPanel = new JPanel();
+ radioPanel.setBorder(BorderFactory.createTitledBorder( "Satelliten Auswahl"));
+ GridManager selectionPanelGrid = new GridManager(radioPanel, 2);
+ btnGroup = new ButtonGroup();
+ // --------------- radio buttons sat selection --------------------------------------
+ satCount = satList.size();
+ satelliteButtons = new JRadioButton[satCount];
+ // create the radioButtons, add them to the map, button group and the selection grid.
+ for (int index = 0; index < satCount; index++ ){
+ satelliteButtons[index] = new JRadioButton(satList.get(index).getDisplayName());
+ radioToSat.put(satelliteButtons[index], satList.get(index));
+ btnGroup.add(satelliteButtons[index]);
+ selectionPanelGrid.add(satelliteButtons[index], 2).fill(true, false).expand(true, false);
+ selectionPanelGrid.nextRow();
+ }
+ // --------------- end radio buttons for sat selection ------------------------------------
-
- // --------------- radio buttons for selection --------------------------------------
- radioCustomIp = new JRadioButton("Benutzerdefinierte Adresse");
- radioSatelliteTable = new JRadioButton("Satelliten Auswahl");
- ButtonGroup btnGroup = new ButtonGroup();
- btnGroup.add(radioSatelliteTable);
+ // --------------- custom ip button and field --------------------------------------
+ radioCustomIp = new JRadioButton("Benutzerdefiniert");
btnGroup.add(radioCustomIp);
- // --------------- end radio buttons ------------------------------------
-
- // --------------- satellite list --------------------------------------
- JPanel listPane = new JPanel();
- listPane.setLayout(new BoxLayout(listPane, BoxLayout.PAGE_AXIS));
- listPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
- satelliteTable = new SatelliteTable();
- JScrollPane jsp = new JScrollPane(satelliteTable);
- jsp.setBackground(UIManager.getColor("Table.background"));
- listPane.add(radioSatelliteTable);
- listPane.add(jsp);
- // --------------- end satellite list ------------------------------------
-
- // --------------- custom ip field --------------------------------------
- JPanel customIpPanel = new JPanel();
- customIpPanel.setLayout(new BoxLayout(customIpPanel, BoxLayout.PAGE_AXIS));
- customIpPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10));
customIpField = new JTextField();
- customIpPanel.add(radioCustomIp);
- customIpPanel.add(customIpField);
+ customIpField.setPreferredSize(new Dimension(120, 25));
+ selectionPanelGrid.add(radioCustomIp).fill(true, false).expand(false, false);
+ selectionPanelGrid.add(customIpField).fill(true, false).expand(true, false);
+ selectionPanelGrid.nextRow();
+ selectionPanelGrid.finish(true);
// --------------- end custom ip field --------------------------------
-
+
// --------------- button panel --------------------------------------
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
@@ -78,15 +76,11 @@ public class SatelliteListWindowLayout extends JDialog {
// --------------- end button panel ----------------------------------
// pack it all
- grid.add(listPane).fill(true, true).expand(true, true);
- grid.nextRow();
- grid.add(customIpPanel).fill(true, false).expand(true, false);
- grid.nextRow();
- grid.add(buttonPane).fill(true, false).expand(true, false);
- grid.nextRow();
- grid.finish(false);
-
- setPreferredSize(Gui.getScaledDimension(300, 350));
+ windowGrid.add(radioPanel).fill(true, true).expand(true, true);
+ windowGrid.nextRow();
+ windowGrid.add(buttonPane).fill(true, false).expand(true, false);
+ windowGrid.nextRow();
+ windowGrid.finish(false);
pack();
}
}