summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java181
1 files changed, 126 insertions, 55 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
index 415aea3c..929f9b2d 100644
--- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
@@ -99,7 +99,7 @@ public class EditLectureLink_GUI extends JFrame {
boolean activeSearch = false;
Component c = null;
String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung",
- "Verantwortlicher", "Letztes Update", "ID", "Version", "Template" };
+ "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" };
ThriftConnection con = new ThriftConnection();
Client client = models.Client.clientcon.getClient();
final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
@@ -126,6 +126,19 @@ public class EditLectureLink_GUI extends JFrame {
modelPublicVorlagen);
private JTextField textField;
+
+ RowFilter orFilter = null;
+ List<RowFilter<Object,Object>> orFilters = new ArrayList<RowFilter<Object,Object>>();
+
+ //needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag)
+ RowFilter andFilter = null;
+ List<RowFilter<Object,Object>> andFilters = new ArrayList<RowFilter<Object,Object>>();
+
+ //the final filter which handles the search in the templates
+ RowFilter templateFilter = null;
+ ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>();
+
+
private static final String HELP_MESSAGE = "<html><div align=\"center\">"
+ "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />"
+ "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"."
@@ -178,32 +191,28 @@ public class EditLectureLink_GUI extends JFrame {
tablemyImages.getColumnModel().getColumn(7).setWidth(0);
tablemyImages.getColumnModel().getColumn(7).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(9).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(9).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(1)
- .setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(1)
- .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(3)
- .setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(3)
- .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(8)
- .setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(8)
- .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(6)
- .setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(6)
- .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(7)
- .setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(7)
- .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0);
tableAllImages.getColumnModel().getColumn(1).setWidth(0);
tableAllImages.getColumnModel().getColumn(1).setMinWidth(0);
@@ -220,6 +229,10 @@ public class EditLectureLink_GUI extends JFrame {
tableAllImages.getColumnModel().getColumn(7).setWidth(0);
tableAllImages.getColumnModel().getColumn(7).setMinWidth(0);
tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(9).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(9).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0);
+
textFieldName.requestFocusInWindow();
}
});
@@ -290,26 +303,61 @@ public class EditLectureLink_GUI extends JFrame {
public void keyReleased(KeyEvent e) {
String stext = textFieldName.getText();
// Wenn Textfield nicht leer
- if (stext != "") {
+ if (stext != "")
+ {
activeSearch = true;
// Filtere nach der Eingabe
- rowSorterAll.setRowFilter(RowFilter.regexFilter(
- textFieldName.getText(), 0));
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- textFieldName.getText(), 0));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- textFieldName.getText(), 0));
- } else {
+ orFilters.clear();
+ andFilters.clear();
+ finalFilters.clear();
+
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ //preparation for search via lecture description. "9" has to be corrected as the index of titles
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+
+ orFilter = RowFilter.orFilter(orFilters);
+
+ rowSorterAll.setRowFilter(orFilter);
+ rowSorterMyImages.setRowFilter(orFilter);
+
+ andFilters.add(RowFilter.regexFilter("1", 8));
+ andFilter = RowFilter.andFilter(andFilters);
+
+ finalFilters.add(andFilter);
+ finalFilters.add(orFilter);
+ templateFilter = RowFilter.andFilter(finalFilters);
+ rowSorterPublicVorlagen.setRowFilter(templateFilter);
+ }
+ else
+ {
activeSearch = false;
- String username = person.verantwortlicher.getName() + " "
- + person.verantwortlicher.getVorname();
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- username, 4));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- "true", 8));
- rowSorterAll.setRowFilter(null);
+
+ String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname();
+
+ orFilters.clear();
+ andFilters.clear();
+ orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
+ orFilter = RowFilter.andFilter(orFilters);
+
+ rowSorterMyImages.setRowFilter(orFilter);
+ rowSorterAll.setRowFilter(orFilter);
+
+ //in addition, templates can only be shown when they really are templates!
+ orFilters.clear();
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("1", 8));
+ orFilter = RowFilter.orFilter(orFilters);
+ rowSorterPublicVorlagen.setRowFilter(orFilter);
+
}
+
+ tablemyImages.clearSelection();
+ tableAllImages.clearSelection();
+ tablePublicVorlagen.clearSelection();
+
+ resetLectureInfo();
}
@@ -335,20 +383,15 @@ public class EditLectureLink_GUI extends JFrame {
// Prueft das die Auswahl nicht leer ist
if (comboBox.getSelectedItem().toString() != "") {
activeSearch = true;
- rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
- .getSelectedItem().toString(), 2));
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- comboBox.getSelectedItem().toString(), 2));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- comboBox.getSelectedItem().toString(), 2));
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
} else {
activeSearch = false;
String username = person.verantwortlicher.getName() + " "
+ person.verantwortlicher.getVorname();
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- username, 4));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- "true", 8));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
rowSorterAll.setRowFilter(null);
}
}
@@ -388,6 +431,8 @@ public class EditLectureLink_GUI extends JFrame {
contentPanel.add(lblNewLabel_1);
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
+ //not needed anymore, as the filters are set by the full text search completely
+ /*
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
if (tabbedPane.getSelectedIndex() == 0 && activeSearch == false) {
@@ -407,7 +452,7 @@ public class EditLectureLink_GUI extends JFrame {
}
});
-
+ */
tabbedPane.setBounds(10, 158, 557, 339);
contentPanel.add(tabbedPane);
@@ -415,6 +460,9 @@ public class EditLectureLink_GUI extends JFrame {
tableAllImages.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+ if(tableAllImages.getSelectedRow() != -1)
+ {
String imageid = modelAll.getValueAt(
tableAllImages
@@ -427,7 +475,7 @@ public class EditLectureLink_GUI extends JFrame {
.getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
-
+ }
}
});
tableAllImages.setModel(modelAll);
@@ -441,6 +489,9 @@ public class EditLectureLink_GUI extends JFrame {
tablemyImages.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+ if(tablemyImages.getSelectedRow() != -1)
+ {
String imageid = modelMyImages.getValueAt(
tablemyImages
.convertRowIndexToModel(tablemyImages //selber fehler wie bei image
@@ -452,6 +503,7 @@ public class EditLectureLink_GUI extends JFrame {
.getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
+ }
}
});
tablemyImages.setModel(modelMyImages);
@@ -469,6 +521,8 @@ public class EditLectureLink_GUI extends JFrame {
tablePublicVorlagen.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+ if(tablePublicVorlagen.getSelectedRow() != -1)
+ {
String imageid = modelPublicVorlagen
.getValueAt(
tablePublicVorlagen
@@ -482,6 +536,7 @@ public class EditLectureLink_GUI extends JFrame {
.getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
+ }
}
});
tablePublicVorlagen.setModel(modelPublicVorlagen);
@@ -935,9 +990,9 @@ public class EditLectureLink_GUI extends JFrame {
labelVerantwortlicher.setBounds(10, 272, 296, 14);
panel.add(labelVerantwortlicher);
- JLabel label = new JLabel("Weitere Verantwortliche:");
- label.setBounds(10, 284, 130, 14);
- panel.add(label);
+ JLabel lblWeitereAnsprechpartner = new JLabel("Weitere Ansprechpartner:");
+ lblWeitereAnsprechpartner.setBounds(10, 284, 130, 14);
+ panel.add(lblWeitereAnsprechpartner);
labelWeitereVerantwortliche = new JLabel("");
labelWeitereVerantwortliche.setBounds(10, 297, 296, 14);
@@ -1120,12 +1175,12 @@ public class EditLectureLink_GUI extends JFrame {
images.get(x).getUserData(),
out.format(in.parse(images.get(x).updateTime)),
images.get(x).id, images.get(x).getVersion(),
- images.get(x).getIsTemplate() };
+ images.get(x).getIsTemplate(),
+ images.get(x).getDescription()};
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
x++;
i.next();
-
}
return model;
@@ -1155,7 +1210,8 @@ public class EditLectureLink_GUI extends JFrame {
images.get(x).getUserData(),
out.format(in.parse(images.get(x).updateTime)),
images.get(x).id, images.get(x).getVersion(),
- images.get(x).getIsTemplate() };
+ images.get(x).getIsTemplate(),
+ images.get(x).getDescription()};
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
x++;
@@ -1168,7 +1224,22 @@ public class EditLectureLink_GUI extends JFrame {
}
-
+ private void resetLectureInfo() {
+ //reset the detailed information on the right hand side when changing search string
+ labelID.setText("");
+ labelVersion.setText("");
+ labelName.setText("");
+ textAreadesc.setText("");
+ labelOS.setText("");
+ labelUpdate.setText("");
+ labelVerantwortlicher.setText("");
+ labelWeitereVerantwortliche.setText("");
+ labelVorlage.setText("");
+ labelLizenzSoftware.setText("");
+ labelInternet.setText("");
+ labelRam.setText("");
+ labelCPU.setText("");
+ }