summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java105
1 files changed, 76 insertions, 29 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
index afbbbab2..ce40ee7b 100644
--- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
@@ -145,16 +145,35 @@ public class SearchImage_GUI extends JFrame {
final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
- RowFilter rf = null;
- List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
+
+
+
+ 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 finalFilter = null;
+ ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>();
+
+
/**
* Create the dialog.
*/
public SearchImage_GUI(Component formerGUI) {
- filters.add(RowFilter.regexFilter(".", 0));
- rf = RowFilter.orFilter(filters);
+
+ orFilters.add(RowFilter.regexFilter(".", 0)); //search for anything
+ orFilter = RowFilter.orFilter(orFilters);
+
+ andFilters.add(RowFilter.regexFilter("1", 8));
+ andFilter = RowFilter.andFilter(andFilters);
+
+ finalFilters.add(andFilter);
+ finalFilters.add(orFilter);
addWindowListener(new WindowAdapter() {
@Override
@@ -307,6 +326,11 @@ public class SearchImage_GUI extends JFrame {
// Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
+
+
+
+
+
// Wenn Textfield nicht leer
if (stext != "")
{
@@ -314,44 +338,54 @@ public class SearchImage_GUI extends JFrame {
// Filtere nach der Eingabe
- filters.clear();
- filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
- rf = RowFilter.orFilter(filters);
+ orFilters.clear();
+ andFilters.clear();
+ finalFilters.clear();
+
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+
+ orFilter = RowFilter.orFilter(orFilters);
+
+ rowSorterAll.setRowFilter(orFilter);
+ rowSorterMyImages.setRowFilter(orFilter);
+
+ orFilters.clear();
- rowSorterAll.setRowFilter(rf);
- rowSorterMyImages.setRowFilter(rf);
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+
+ orFilter = RowFilter.orFilter(orFilters);
- filters.clear();
- filters.add(RowFilter.regexFilter("1", 8));
- rf = RowFilter.andFilter(filters);
- rowSorterPublicVorlagen.setRowFilter(rf);
- //rowSorterAll.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
- //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
- //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
+ andFilters.add(RowFilter.regexFilter("1", 8));
+ andFilter = RowFilter.andFilter(andFilters);
+ finalFilters.add(andFilter);
+ finalFilters.add(orFilter);
+ finalFilter = RowFilter.andFilter(finalFilters);
+ rowSorterPublicVorlagen.setRowFilter(finalFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST
}
else
{ //refresh list
activeSearch = false;
String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname();
- filters.clear();
- filters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
- rf = RowFilter.orFilter(filters);
+ orFilters.clear();
+ orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
+ orFilter = RowFilter.andFilter(orFilters);
- rowSorterMyImages.setRowFilter(rf);
- rowSorterAll.setRowFilter(rf);
+ rowSorterMyImages.setRowFilter(orFilter);
+ rowSorterAll.setRowFilter(orFilter);
//in addition, templates can only be shown when they really are templates!
- filters.clear();
- filters.add(RowFilter.regexFilter("1", 8));
- rf = RowFilter.andFilter(filters);
- rowSorterPublicVorlagen.setRowFilter(rf);
- //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4));
- //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
- //rowSorterAll.setRowFilter(null);
+ 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();
@@ -472,6 +506,10 @@ public class SearchImage_GUI extends JFrame {
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+
+ if(tableAllImages.getSelectedRow() != -1)
+ {
String imageid = modelAll.getValueAt(
tableAllImages
.convertRowIndexToModel(tableAllImages
@@ -485,6 +523,7 @@ public class SearchImage_GUI extends JFrame {
writeImageData(imageid, version);
}
+ }
});
tableAllImages.setModel(modelAll);
tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -532,6 +571,9 @@ public class SearchImage_GUI extends JFrame {
tablePublicVorlagen.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+ if(tablePublicVorlagen.getSelectedRow() != -1)
+ {
String imageid = modelPublicVorlagen
.getValueAt(
tablePublicVorlagen
@@ -546,6 +588,9 @@ public class SearchImage_GUI extends JFrame {
.toString();
writeImageData(imageid, version);
}
+ }
+
+
});
tablePublicVorlagen.setModel(modelPublicVorlagen);
tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -954,8 +999,10 @@ public class SearchImage_GUI extends JFrame {
images.get(x).id, images.get(x).getVersion(),
images.get(x).getIsTemplate(),
images.get(x).getDescription()};
+ System.out.println("filling templates..."+images.get(x).getIsTemplate());
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
+ System.out.println(model.getValueAt(x, 9));
x++;
i.next();