diff options
| author | Nino Breuer | 2014-10-30 09:58:59 +0100 |
|---|---|---|
| committer | Nino Breuer | 2014-10-30 09:58:59 +0100 |
| commit | 16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26 (patch) | |
| tree | 23daea4242e8588f4fd0258a37d5c1db3653cf2a /dozentenmodul/src/main/java/gui/image | |
| parent | Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff) | |
| download | tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.tar.gz tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.tar.xz tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.zip | |
• 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)
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image')
4 files changed, 120 insertions, 36 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java index 26b40619..a9dc23ab 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java @@ -227,7 +227,7 @@ public class CreateImageAllgemein_GUI extends JFrame { txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte - .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Java Wintersemester bei...\""); txtrGebenSieBitte.setBounds(145, 48, 350, 49); panel_1.add(txtrGebenSieBitte); diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 22344d2f..e3104902 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -115,22 +115,26 @@ public class DeleteImage_GUI extends JFrame { ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); + + /* 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<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll); @@ -153,6 +157,7 @@ public class DeleteImage_GUI extends JFrame { filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @@ -165,9 +170,9 @@ public class DeleteImage_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { - initTableModel(modelAll); + //initTableModel(modelAll); initTableModel(modelMyImages); - initTableModel(modelPublicVorlagen); + //initTableModel(modelPublicVorlagen); // auszublendende Angaben // 1=Lizenzpflichtig @@ -497,6 +502,9 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages @@ -508,7 +516,9 @@ public class DeleteImage_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } + }); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyImages.setModel(modelMyImages); @@ -752,6 +762,8 @@ public class DeleteImage_GUI extends JFrame { // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { + + List<server.generated.Image> images; try { // Hole eine Liste der Images @@ -759,10 +771,12 @@ public class DeleteImage_GUI extends JFrame { Iterator<server.generated.Image> i = images.iterator(); + System.out.println("Size of image list="+images.size()); + int x = 0; SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); - + while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle Object[] obj = { images.get(x).getImageName(), @@ -778,8 +792,13 @@ public class DeleteImage_GUI extends JFrame { model.addRow(obj); x++; i.next(); + + } + if(x==0){ + System.out.println("Damn... nothing to do here.."); + } return model; } catch (TException | ParseException e1) { diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 8238c5c1..2b8efe56 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -225,7 +225,7 @@ public class EditImageAllgemein_GUI extends JFrame { txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte - .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Java Wintersemester bei...\""); txtrGebenSieBitte.setBounds(145, 48, 350, 55); panel_1.add(txtrGebenSieBitte); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index 67aab17d..afbbbab2 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -20,6 +20,7 @@ import java.net.URI; import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -100,7 +101,7 @@ public class SearchImage_GUI extends JFrame { boolean activeSearch = false;
Component c = null;
String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
- "Verantwortlicher", "Letztes Update", "ID", "Version", "Template" }; // Angezeigt
+ "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt
// werden
// aber
// nur
@@ -143,11 +144,18 @@ public class SearchImage_GUI extends JFrame { modelMyImages);
final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
+
+ RowFilter rf = null;
+ List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
/**
* Create the dialog.
*/
public SearchImage_GUI(Component formerGUI) {
+
+ filters.add(RowFilter.regexFilter(".", 0));
+ rf = RowFilter.orFilter(filters);
+
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
@@ -183,32 +191,28 @@ public class SearchImage_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);
@@ -225,6 +229,10 @@ public class SearchImage_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();
}
});
@@ -304,19 +312,51 @@ public class SearchImage_GUI extends JFrame { {
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);
+
+ rowSorterAll.setRowFilter(rf);
+ rowSorterMyImages.setRowFilter(rf);
+
+ 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));
}
else
{ //refresh list
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(username, 4)); //case insensitive, filter for anything
+ rf = RowFilter.orFilter(filters);
+
+ rowSorterMyImages.setRowFilter(rf);
+ rowSorterAll.setRowFilter(rf);
+
+ //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);
}
+ tablemyImages.clearSelection();
+ tableAllImages.clearSelection();
+ tablePublicVorlagen.clearSelection();
+
+ resetImageInfo();
}
});
@@ -457,10 +497,12 @@ public class SearchImage_GUI extends JFrame { tablemyImages = new JTable();
tablemyImages.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ if (tablemyImages.getSelectedRow() != -1) {
String imageid = modelMyImages.getValueAt(
tablemyImages
- .convertRowIndexToModel(tablemyImages //hier wird auf myImages zugegriffen, obwohl man sich in Vorlage oder "Alle" befindet.
+ .convertRowIndexToModel(tablemyImages //fehler nur, wenn zeile selektiert und dann suche eingegeben wird!
.getSelectedRow()), 6)
.toString();
String version = modelMyImages.getValueAt(
@@ -469,7 +511,10 @@ public class SearchImage_GUI extends JFrame { .getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
+ }
}
+
+
});
tablemyImages.setModel(modelMyImages);
tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -907,7 +952,8 @@ public class SearchImage_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++;
@@ -926,6 +972,25 @@ public class SearchImage_GUI extends JFrame { return model;
}
+
+ private void resetImageInfo() {
+ //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) {
try {
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
