summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-04 13:44:09 +0200
committerJonathan Bauer2015-08-04 13:44:09 +0200
commitb08e3ab8d03f7434ab73e612e5c7fad9b0431e56 (patch)
treed0967b083634dccaa6b01eee7c99ab81fc69ea28
parent[client] Feature: save session to skip login (diff)
downloadtutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.tar.gz
tutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.tar.xz
tutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.zip
[client] improved table boolean object support (for checkboxes)
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java42
3 files changed, 12 insertions, 38 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
index 3f1361a4..508457b5 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
@@ -12,7 +12,7 @@ public class ImageTable extends ListTable<ImageSummaryRead> {
{ "Name", "OS", "Verantwortlicher", "Letztes Update", "Größe", "Version", "Vorlage" };
private static Class<?>[] columnClasses =
- { String.class, String.class, String.class, String.class, String.class };
+ { String.class, String.class, String.class, String.class, String.class, String.class, Boolean.class };
public ImageTable() {
super(columnNames, columnClasses);
@@ -34,7 +34,7 @@ public class ImageTable extends ListTable<ImageSummaryRead> {
if (columnIndex == 5)
return row.getCurrentVersionId() == null ? "-" : row.getCurrentVersionId();
if (columnIndex == 6)
- return row.isTemplate ? "Ja" : "Nein";
+ return row.isTemplate;
throw new IndexOutOfBoundsException();
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java
index 28ff9f9b..c1a922ae 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java
@@ -10,8 +10,10 @@ public class LecturePermissionTable extends ListTable<UserLecturePermissions> {
private static String[] columnNames = { "Benutzer", "Bearbeiten", "Admin" };
+ private static Class<?>[] columnClasses = { String.class, Boolean.class, Boolean.class};
+
public LecturePermissionTable() {
- super(columnNames, null);
+ super(columnNames, columnClasses);
}
@Override
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java
index 18f3d015..d37d03d7 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java
@@ -40,6 +40,8 @@ public abstract class ListTable<T> extends JTable {
this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
this.getTableHeader().setReorderingAllowed(false);
this.setDefaultRenderer(Object.class, new TableRenderer());
+ this.setDefaultRenderer(Boolean.class, getDefaultRenderer(Boolean.class));
+ this.setDefaultEditor(Boolean.class, getDefaultEditor(Boolean.class));
this.setRowSelectionAllowed(true);
this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
@@ -80,40 +82,6 @@ public abstract class ListTable<T> extends JTable {
public TableRowSorter<ListModel> getRowSorter() {
return sorter;
}
- private Class<?> editingClass;
-
- @Override
- public TableCellRenderer getCellRenderer(int row, int column) {
- editingClass = null;
- int modelColumn = convertColumnIndexToModel(column);
- if (modelColumn >= 1) {
- Class<?> rowClass = getModel().getValueAt(row, modelColumn).getClass();
- return getDefaultRenderer(rowClass);
- } else {
- return super.getCellRenderer(row, column);
- }
- }
-
- @Override
- public TableCellEditor getCellEditor(int row, int column) {
- editingClass = null;
- int modelColumn = convertColumnIndexToModel(column);
- if (modelColumn > 0) {
- editingClass = getModel().getValueAt(row, modelColumn).getClass();
- return getDefaultEditor(editingClass);
- } else {
- return super.getCellEditor(row, column);
- }
- }
- // This method is also invoked by the editor when the value in the editor
- // component is saved in the TableModel. The class was saved when the
- // editor was invoked so the proper class can be created.
-
- @Override
- public Class<?> getColumnClass(int column) {
- return editingClass != null ? editingClass : model.getColumnClass(column);
- }
-
/**
* Model for our table
@@ -127,9 +95,13 @@ public abstract class ListTable<T> extends JTable {
protected List<T> data = null;
public ListModel(String[] columnNames, Class<?>[] columnClasses) {
+
+ if (columnClasses != null && columnClasses.length != columnNames.length)
+ throw new IllegalArgumentException();
+
this.columnNames = columnNames;
this.columnClasses = columnClasses;
- // TODO check same length or IllegalArgumentException
+
}
public void setData(List<T> list) {