summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator
diff options
context:
space:
mode:
authorSimon Rettberg2018-06-26 14:53:55 +0200
committerSimon Rettberg2018-06-26 14:53:55 +0200
commit0eb8cdc9517c427d5b69587c86e6a3a2e3d1473e (patch)
tree1d259645660e6dd23b8dfd05ab019ee42a5afde8 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator
parent[client] Move ResourceLoader back to dozmod client (diff)
downloadtutor-module-0eb8cdc9517c427d5b69587c86e6a3a2e3d1473e.tar.gz
tutor-module-0eb8cdc9517c427d5b69587c86e6a3a2e3d1473e.tar.xz
tutor-module-0eb8cdc9517c427d5b69587c86e6a3a2e3d1473e.zip
[client] Clean up change monitors: Unify generic listener
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ImagePermissionConfigurator.java51
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LecturePermissionConfigurator.java51
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java8
3 files changed, 37 insertions, 73 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ImagePermissionConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ImagePermissionConfigurator.java
index 2310f406..efba020c 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ImagePermissionConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ImagePermissionConfigurator.java
@@ -8,9 +8,8 @@ import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.EventListener;
-import java.util.EventObject;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -24,11 +23,12 @@ import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
-import javax.swing.event.EventListenerList;
+import javax.swing.event.ChangeListener;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
+import org.openslx.dozmod.gui.changemonitor.GenericControlWindow;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable.UserImagePermissions;
import org.openslx.dozmod.gui.control.table.QScrollPane;
@@ -43,7 +43,7 @@ import org.openslx.dozmod.util.FormatHelper;
* customImagePermissions.
*/
@SuppressWarnings("serial")
-public class ImagePermissionConfigurator extends JPanel {
+public class ImagePermissionConfigurator extends JPanel implements GenericControlWindow<Map<String, ImagePermissions>> {
protected ImagePermissionTable permissionTable;
@@ -190,42 +190,27 @@ public class ImagePermissionConfigurator extends JPanel {
}
return newPermissionMap;
}
-
- /**
- * Custom event mechanism to detect changes to the user list
+
+ /*
+ * For dialog change monitor
*/
- protected EventListenerList listenerList = new EventListenerList();
- /**
- * Shared instance, since there is no data attached (yet)
- */
- private static final UserChangeEvent CHANGE_EVENT = new UserChangeEvent();
-
- public static class UserChangeEvent extends EventObject {
-
- public UserChangeEvent() {
- super(new Object());
+ void fireUserChangeEvent() {
+ for (ChangeListener cl : listeners) {
+ cl.stateChanged(null);
}
}
- public interface UserChangeEventListener extends EventListener {
- public void stateChanged(UserChangeEvent event);
+ @Override
+ public Map<String, ImagePermissions> getState() {
+ return getPermissions();
}
+
+ private final List<ChangeListener> listeners = new ArrayList<>(1);
- public void addUserChangeEventListener(UserChangeEventListener listener) {
- listenerList.add(UserChangeEventListener.class, listener);
+ @Override
+ public void addChangeListener(ChangeListener l) {
+ listeners.add(l);
}
- public void removeUserChangeEventListener(UserChangeEventListener listener) {
- listenerList.remove(UserChangeEventListener.class, listener);
- }
-
- void fireUserChangeEvent() {
- Object[] listeners = listenerList.getListenerList();
- for (int i = 0; i < listeners.length; i++) {
- if (listeners[i] == UserChangeEventListener.class) {
- ((UserChangeEventListener) listeners[i + 1]).stateChanged(CHANGE_EVENT);
- }
- }
- }
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LecturePermissionConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LecturePermissionConfigurator.java
index 26052cf3..5e4c1649 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LecturePermissionConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/LecturePermissionConfigurator.java
@@ -6,9 +6,8 @@ import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
-import java.util.EventListener;
-import java.util.EventObject;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -22,11 +21,12 @@ import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
-import javax.swing.event.EventListenerList;
+import javax.swing.event.ChangeListener;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.LecturePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
+import org.openslx.dozmod.gui.changemonitor.GenericControlWindow;
import org.openslx.dozmod.gui.control.table.LecturePermissionTable;
import org.openslx.dozmod.gui.control.table.LecturePermissionTable.UserLecturePermissions;
import org.openslx.dozmod.gui.control.table.QScrollPane;
@@ -43,7 +43,7 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
*
*/
@SuppressWarnings("serial")
-public class LecturePermissionConfigurator extends JPanel {
+public class LecturePermissionConfigurator extends JPanel implements GenericControlWindow<Map<String, LecturePermissions>> {
/**
* Self reference
@@ -182,43 +182,26 @@ public class LecturePermissionConfigurator extends JPanel {
return newPermissionMap;
}
- /**
- * Custom event mechanism to detect changes to the user list
- * (Mostly needed for the reactToChange() stuff in LectureDetailsWindow)
- */
- protected EventListenerList listenerList = new EventListenerList();
-
- /**
- * Shared instance, since there is no data attached (yet)
+ /*
+ * For dialog change monitor
*/
- private static final UserChangeEvent CHANGE_EVENT = new UserChangeEvent();
- public static class UserChangeEvent extends EventObject {
-
- public UserChangeEvent() {
- super(new Object());
+ void fireUserChangeEvent() {
+ for (ChangeListener cl : listeners) {
+ cl.stateChanged(null);
}
}
- public interface UserChangeEventListener extends EventListener {
- public void stateChanged(UserChangeEvent event);
- }
-
- public void addUserChangeEventListener(UserChangeEventListener listener) {
- listenerList.add(UserChangeEventListener.class, listener);
+ @Override
+ public Map<String, LecturePermissions> getState() {
+ return getPermissions();
}
+
+ private final List<ChangeListener> listeners = new ArrayList<>(1);
- public void removeUserChangeEventListener(UserChangeEventListener listener) {
- listenerList.remove(UserChangeEventListener.class, listener);
+ @Override
+ public void addChangeListener(ChangeListener l) {
+ listeners.add(l);
}
- void fireUserChangeEvent() {
- Object[] listeners = listenerList.getListenerList();
- for (int i = 0; i < listeners.length; i++) {
- if (listeners[i] == UserChangeEventListener.class) {
- ((UserChangeEventListener) listeners[i + 1])
- .stateChanged(CHANGE_EVENT);
- }
- }
- }
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
index e1c59863..5841efc5 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
@@ -1,7 +1,6 @@
package org.openslx.dozmod.gui.configurator;
import java.awt.Color;
-import java.awt.Container;
import java.awt.Insets;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
@@ -10,8 +9,6 @@ import java.awt.event.KeyEvent;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
-import java.util.EventListener;
-import java.util.EventObject;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -24,7 +21,6 @@ import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.event.ChangeListener;
-import javax.swing.event.EventListenerList;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.SimpleAttributeSet;
@@ -34,7 +30,7 @@ import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.NetDirection;
import org.openslx.bwlp.thrift.iface.NetRule;
import org.openslx.dozmod.gui.Gui;
-import org.openslx.dozmod.gui.changemonitor.ListEditorWindow;
+import org.openslx.dozmod.gui.changemonitor.GenericControlWindow;
import org.openslx.dozmod.gui.control.WordWrapLabel;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.helper.MessageType;
@@ -44,7 +40,7 @@ import org.openslx.util.Util;
/**
* Widget for netrules configuration of lectures
*/
-public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements ListEditorWindow<NetRule> {
+public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements GenericControlWindow<List<NetRule>> {
private static final long serialVersionUID = -3497629601818983994L;
private final static Logger LOGGER = Logger.getLogger(NetrulesConfigurator.class);