From 16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Thu, 30 Oct 2014 09:58:59 +0100 Subject: • added full text search in earch search-gui • fixed bug: arrayIndexOutOfBounds (several classes) • fixed bug: failed to update image data • changed text examples • fixed bug: any image has been shown as template when changing value of search bar (each direction) --- .../java/gui/lecture/CreateLectureLink_GUI.java | 76 ++++++++++++++++------ 1 file changed, 57 insertions(+), 19 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 2f4d958a..ba45cb92 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -21,6 +21,7 @@ import java.net.URISyntaxException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -95,7 +96,7 @@ public class CreateLectureLink_GUI extends JFrame { Component c = null; private JTextField textFieldName; 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(); @@ -105,22 +106,25 @@ public class CreateLectureLink_GUI extends JFrame { + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung erzeugen\"." + ""; - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + /*final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } - }; + + };*/ final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + /* final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + */ // final TableRowSorter rowSorterAll = new // TableRowSorter( // modelAll); @@ -130,11 +134,18 @@ public class CreateLectureLink_GUI extends JFrame { // final TableRowSorter rowSorterPublicVorlagen = new // TableRowSorter( // modelPublicVorlagen); + + RowFilter rf = null; + List> filters = new ArrayList>(2); /** * Create the dialog. */ public CreateLectureLink_GUI(Component formerGUI) { + + filters.add(RowFilter.regexFilter(".", 0)); + rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -146,8 +157,8 @@ public class CreateLectureLink_GUI extends JFrame { public void windowOpened(WindowEvent arg0) { try { initTableModel(modelMyImages); - initTableModel(modelAll); - initTableModel(modelPublicVorlagen); + //initTableModel(modelAll); + //initTableModel(modelPublicVorlagen); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -177,6 +188,9 @@ public class CreateLectureLink_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); textFieldName.requestFocusInWindow(); } @@ -250,23 +264,23 @@ public class CreateLectureLink_GUI extends JFrame { 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)); + filters.clear(); + filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + rf = RowFilter.orFilter(filters); + rowSorterMyImages.setRowFilter(rf); + } 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); + filters.clear(); + filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + rf = RowFilter.orFilter(filters); + rowSorterMyImages.setRowFilter(rf); } + tablemyImages.clearSelection(); + + resetLectureInfo(); } @@ -353,6 +367,9 @@ public class CreateLectureLink_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages @@ -372,7 +389,10 @@ public class CreateLectureLink_GUI extends JFrame { // TODO Auto-generated catch block e1.printStackTrace(); } + } } + + }); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -736,7 +756,8 @@ public class CreateLectureLink_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); @@ -748,6 +769,23 @@ public class CreateLectureLink_GUI extends JFrame { return model; } + + 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(""); + } public void writeImageData(String id, String version) throws TException, ParseException { -- cgit v1.2.3-55-g7522