summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorStephan Schwaer2015-10-19 17:14:10 +0200
committerStephan Schwaer2015-10-19 17:14:10 +0200
commite2d1d5b1c8842a10691b87c0ddc6e544bf0b4ee2 (patch)
treea25197b9ede56ce09f8d874fbce2548ee724bfee /dozentenmodul/src/main/java
parent[client] Prevent student to switch to imageList with menuButton. (diff)
downloadtutor-module-e2d1d5b1c8842a10691b87c0ddc6e544bf0b4ee2.tar.gz
tutor-module-e2d1d5b1c8842a10691b87c0ddc6e544bf0b4ee2.tar.xz
tutor-module-e2d1d5b1c8842a10691b87c0ddc6e544bf0b4ee2.zip
[client] Make deselection in tables possible when clicking on empty space.
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java18
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java33
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java5
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java4
7 files changed, 62 insertions, 13 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
index aa09dc67..8dadbd71 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
@@ -17,7 +17,6 @@ import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
-import javax.swing.JScrollPane;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -26,6 +25,7 @@ import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable.UserImagePermissions;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.window.UserListWindow;
@@ -75,7 +75,7 @@ public class ImageCustomPermissionManager extends JPanel {
userButtonPane.add(Box.createGlue());
// Put everything into the grid
- JScrollPane jsp = new JScrollPane(permissionTable);
+ QScrollPane jsp = new QScrollPane(permissionTable);
jsp.setBackground(UIManager.getColor("Table.background"));
grid.add(jsp).fill(true, true).expand(true, true);
grid.nextRow();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java
index b52dbe44..82b3e26e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageListViewer.java
@@ -3,6 +3,9 @@ package org.openslx.dozmod.gui.control;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
@@ -20,14 +23,17 @@ import javax.swing.border.TitledBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
+import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.table.ImageTable;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.control.table.ListTable.ListModel;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.permissions.ImagePerms;
import org.openslx.dozmod.thrift.Session;
+import org.openslx.dozmod.thrift.ThriftActions;
import org.openslx.dozmod.thrift.cache.ImageCache;
import org.openslx.dozmod.thrift.cache.UserCache;
import org.openslx.util.QuickTimer;
@@ -35,6 +41,9 @@ import org.openslx.util.QuickTimer.Task;
@SuppressWarnings("serial")
public class ImageListViewer extends QLabel {
+
+ private static final Logger LOGGER = Logger.getLogger(ThriftActions.class);
+
protected JTextField searchTextField;
protected ImageTable imageTable;
protected JComboBox<FilterType> filterCbo;
@@ -123,7 +132,7 @@ public class ImageListViewer extends QLabel {
}
filterPanel.add(searchTextField);
filterPanel.add(filterCbo);
-
+
// Panel for itemCount
JPanel imageCountPanel = new JPanel();
imageCountLabel = new JLabel();
@@ -136,7 +145,8 @@ public class ImageListViewer extends QLabel {
grid.add(filterPanel).fill(true, false).expand(true, false);
grid.nextRow();
- JScrollPane jsp = new JScrollPane(imageTable);
+ QScrollPane jsp = new QScrollPane(imageTable);
+
jsp.setBackground(UIManager.getColor("Table.background"));
grid.add(jsp).fill(true, true).expand(true, true);
grid.finish(false);
@@ -246,8 +256,8 @@ public class ImageListViewer extends QLabel {
public ImageTable getImageTable() {
return imageTable;
}
-
- protected void setImageCountLabel(int i){
+
+ protected void setImageCountLabel(int i) {
imageCountLabel.setText(Integer.toString(i));
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
index 608b5e29..2e02b683 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
@@ -15,7 +15,6 @@ import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
-import javax.swing.JScrollPane;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -24,6 +23,7 @@ import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.LecturePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.control.table.LecturePermissionTable;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.control.table.LecturePermissionTable.UserLecturePermissions;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.window.UserListWindow;
@@ -75,7 +75,7 @@ public class LectureCustomPermissionManager extends JPanel {
userButtonPane.add(Box.createGlue());
// Put everything into the grid
- JScrollPane jsp = new JScrollPane(permissionTable);
+ QScrollPane jsp = new QScrollPane(permissionTable);
jsp.setBackground(UIManager.getColor("Table.background"));
grid.add(jsp).fill(true, true).expand(true, true);
grid.nextRow();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java
new file mode 100644
index 00000000..ca79073b
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java
@@ -0,0 +1,33 @@
+package org.openslx.dozmod.gui.control.table;
+
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+
+/**
+ * Extended JScrollPane to make deselection by clicking on empty space possible
+ */
+@SuppressWarnings("serial")
+public class QScrollPane extends JScrollPane {
+ public QScrollPane(final JTable view) {
+ super(view);
+ this.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent e) {
+ processClick(e);
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ processClick(e);
+ }
+
+ private void processClick(MouseEvent e) {
+ view.clearSelection();
+ }
+ });
+ }
+
+}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
index 3c7892c2..60c876f6 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
@@ -28,6 +28,7 @@ import org.openslx.dozmod.gui.control.ComboBox.ComboBoxRenderer;
import org.openslx.dozmod.gui.control.PersonLabel;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.control.table.ImageVersionTable;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.thrifthelper.Comparators;
@@ -63,7 +64,7 @@ public abstract class ImageDetailsWindowLayout extends JDialog {
protected final QLabel linkedLectureCount;
protected final ImageVersionTable versionTable;
- protected JScrollPane versionTableScrollPane;
+ protected QScrollPane versionTableScrollPane;
public ImageDetailsWindowLayout(Frame modalParent) {
super(modalParent, "<init>", ModalityType.APPLICATION_MODAL);
@@ -222,7 +223,7 @@ public abstract class ImageDetailsWindowLayout extends JDialog {
lblVersion.setFont(lblVersion.getFont().deriveFont(Font.BOLD));
versionTablePanel.add(lblVersion, BorderLayout.PAGE_START);
versionTable = new ImageVersionTable();
- versionTableScrollPane = new JScrollPane(versionTable);
+ versionTableScrollPane = new QScrollPane(versionTable);
versionTableScrollPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
versionTablePanel.add(versionTableScrollPane, BorderLayout.CENTER);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
index 20795474..476a9a2e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
@@ -4,6 +4,8 @@ import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagLayout;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.Box;
@@ -19,6 +21,7 @@ import javax.swing.border.TitledBorder;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.control.table.LectureTable;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.helper.CompositePage;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.window.LectureListWindow.FilterType;
@@ -89,7 +92,9 @@ public abstract class LectureListWindowLayout extends CompositePage {
tableGrid.add(filterPanel).fill(true, false).expand(true, false);
tableGrid.nextRow();
- JScrollPane jsp = new JScrollPane(lectureTable);
+ QScrollPane jsp = new QScrollPane(lectureTable);
+
+
jsp.setBackground(UIManager.getColor("Table.background"));
tableGrid.add(jsp).fill(true, true).expand(true, true);
tableGrid.nextRow();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
index b9e864b1..4f4fd38f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java
@@ -9,12 +9,12 @@ import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
-import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.QLabel;
+import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.control.table.UserTable;
import org.openslx.dozmod.gui.helper.GridManager;
@@ -49,7 +49,7 @@ public class UserListWindowLayout extends JDialog {
listPane.setLayout(new BoxLayout(listPane, BoxLayout.PAGE_AXIS));
listPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
userTable = new UserTable();
- JScrollPane jsp = new JScrollPane(userTable);
+ QScrollPane jsp = new QScrollPane(userTable);
jsp.setBackground(UIManager.getColor("Table.background"));
listPane.add(jsp);
// --------------- end user table ------------------------------------