diff options
| author | Stephan Schwaer | 2015-10-19 17:14:10 +0200 |
|---|---|---|
| committer | Stephan Schwaer | 2015-10-19 17:14:10 +0200 |
| commit | e2d1d5b1c8842a10691b87c0ddc6e544bf0b4ee2 (patch) | |
| tree | a25197b9ede56ce09f8d874fbce2548ee724bfee /dozentenmodul/src/main/java | |
| parent | [client] Prevent student to switch to imageList with menuButton. (diff) | |
| download | tutor-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')
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 ------------------------------------ |
