diff options
| author | Tobias Spitzer | 2014-07-25 12:15:09 +0200 |
|---|---|---|
| committer | Tobias Spitzer | 2014-07-25 12:15:09 +0200 |
| commit | 6e1827810388387804b9700f7ba6f5a377c6241a (patch) | |
| tree | 48068e68763365f1e93312d12db39d881f95b710 /Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java | |
| parent | Permission GUI zur Veranschaulichung (keine Funktionalität) implementiert (diff) | |
| download | tutor-module-6e1827810388387804b9700f7ba6f5a377c6241a.tar.gz tutor-module-6e1827810388387804b9700f7ba6f5a377c6241a.tar.xz tutor-module-6e1827810388387804b9700f7ba6f5a377c6241a.zip | |
Suchfenster um Reiter Vorlage ergänzt
Diffstat (limited to 'Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java | 339 |
1 files changed, 251 insertions, 88 deletions
diff --git a/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java b/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java index 4b92f3e1..85103f7f 100644 --- a/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java +++ b/Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java @@ -39,11 +39,14 @@ import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.JTextPane; +import javax.swing.RowFilter; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; import models.Lecture; import models.Links; @@ -55,6 +58,8 @@ import server.Server.Client; import thrift.ThriftConnection; import util.GuiOrganizer; import util.OpenLinks; +import javax.swing.event.ChangeListener; +import javax.swing.event.ChangeEvent; @SuppressWarnings("serial") public class CreateLectureLink_GUI extends JFrame { @@ -64,17 +69,39 @@ public class CreateLectureLink_GUI extends JFrame { JRadioButton rdbtnInternetJa; JRadioButton rdbtnInternetNein; JComboBox<String> comboBox; + JTabbedPane tabbedPane; JTable tableAllImages = new JTable(); JTable tablemyImages = new JTable(); JTable tableCoopImages = new JTable(); JTable tablePublicImages = new JTable(); JTable tablePublicVorlagen = new JTable(); + boolean activeSearch=false; private JTextField textFieldName; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "Schlagwort" }; + "Verantwortlicher", "Letztes Update", "ID", "Version","Template" }; 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); + final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( + modelMyImages); + final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( + modelPublicVorlagen); /** * Create the dialog. @@ -89,6 +116,9 @@ public class CreateLectureLink_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { + initTableModel(modelAll); + initTableModel(modelMyImages); + initTableModel(modelPublicVorlagen); textFieldName.requestFocusInWindow(); } }); @@ -105,7 +135,7 @@ public class CreateLectureLink_GUI extends JFrame { setBounds(0, 0, 603, 722); GuiOrganizer.centerGUI(this); - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); + final DefaultTableModel model = new DefaultTableModel(titles, 0); getContentPane().setLayout(null); @@ -140,7 +170,7 @@ public class CreateLectureLink_GUI extends JFrame { panel_1.setBackground(SystemColor.menu); panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 49, 557, 131); + panel_1.setBounds(10, 49, 557, 92); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -157,19 +187,27 @@ public class CreateLectureLink_GUI extends JFrame { @Override public void keyReleased(KeyEvent e) { String stext = textFieldName.getText(); - modelAll.setRowCount(0); - initTableModel(modelAll); - - if (stext != "") - for (int i = 0; i < modelAll.getRowCount(); i++) { - - if (modelAll.getValueAt(i, 0).toString() - .startsWith(stext)) { - - } else { - modelAll.removeRow(i); - } - } + // Wenn Textfield nicht leer + 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{ + 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); + } } @@ -179,19 +217,6 @@ public class CreateLectureLink_GUI extends JFrame { panel_1.add(textFieldName); textFieldName.setColumns(10); - JLabel lblErweiterteSuche = new JLabel( - "<html><u>Erweiterte Suche</u></html>"); - lblErweiterteSuche.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - ExtendedSearchForLectures_GUI es = new ExtendedSearchForLectures_GUI(); - es.setVisible(true); - } - }); - lblErweiterteSuche.setForeground(Color.BLUE); - - lblErweiterteSuche.setBounds(431, 106, 89, 14); - panel_1.add(lblErweiterteSuche); comboBox = new JComboBox<String>(); try { @@ -209,19 +234,24 @@ public class CreateLectureLink_GUI extends JFrame { } comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - modelAll.setRowCount(0); - initTableModel(modelAll); - String selItem = comboBox.getSelectedItem().toString(); - if (selItem != "") { - for (int i = 0; i < modelAll.getRowCount(); i++) { - - if (modelAll.getValueAt(i, 2).equals(selItem)) { - - } else { - modelAll.removeRow(i); - } - } - + // 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)); + }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); } } }); @@ -259,31 +289,39 @@ public class CreateLectureLink_GUI extends JFrame { lblNewLabel_1.setBounds(164, 11, 85, 14); contentPanel.add(lblNewLabel_1); - JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) { + + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + // String username="Spitzer Tobias"; + rowSorterMyImages.setRowFilter(RowFilter.regexFilter( + username, 4)); + }else if(tabbedPane.getSelectedIndex()==1 && activeSearch==false){ + //System.out.println("Yeah"); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); + } else if(tabbedPane.getSelectedIndex()==2 && activeSearch==false){ + rowSorterAll.setRowFilter(null); + } - tabbedPane.setBounds(10, 197, 557, 300); + } + + }); + + tabbedPane.setBounds(10, 152, 557, 345); contentPanel.add(tabbedPane); JScrollPane scrollPaneMyImage = new JScrollPane(); - tablemyImages.setModel(model); + tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); - - JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages = new JTable(); - tableAllImages.setModel(modelAll); - tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); - - scrollPaneAllImages.setViewportView(tableAllImages); - tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); @@ -297,10 +335,39 @@ public class CreateLectureLink_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(4).sizeWidthToFit(); tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); + + JScrollPane scrollPanePublicVorlagen = new JScrollPane(); + + tablePublicVorlagen.setModel(modelPublicVorlagen); + tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit(); + tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); + tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen); + scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); + tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, + scrollPanePublicVorlagen, null); + + JScrollPane scrollPaneAllImages = new JScrollPane(); + tableAllImages = new JTable(); + tableAllImages.setModel(modelAll); + tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); + tableAllImages.setRowSorter(rowSorterAll); + + scrollPaneAllImages.setViewportView(tableAllImages); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); + + + scrollPaneCoopImages.setViewportView(tableCoopImages); tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); - tabbedPane.setEnabledAt(2, false); + tabbedPane.setEnabledAt(3, false); JScrollPane scrollPanePublicImages = new JScrollPane(); @@ -314,23 +381,8 @@ public class CreateLectureLink_GUI extends JFrame { scrollPanePublicImages.setViewportView(tablePublicImages); tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); - tabbedPane.setEnabledAt(3, false); - - JScrollPane scrollPanePublicVorlagen = new JScrollPane(); - - tablePublicVorlagen.setModel(model); - tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit(); - tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit(); - - scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); - tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, - scrollPanePublicVorlagen, null); tabbedPane.setEnabledAt(4, false); - initTableModel(modelAll); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); @@ -356,13 +408,116 @@ public class CreateLectureLink_GUI extends JFrame { "Veranstaltung erzeugen und abschlie\u00DFen"); doLinkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); // check if a row is selected - if ((tableAllImages.getSelectedRow() != -1) - || (tablemyImages.getSelectedRow() != -1) - || (tableCoopImages.getSelectedRow() != -1) - || (tablePublicImages.getSelectedRow() != -1) - || (tablePublicVorlagen.getSelectedRow() != -1)) { + if (tablemyImages.getSelectedRow() != -1){ + + // a row is selected, do operations + String imagename = tablemyImages.getValueAt( + tablemyImages.getSelectedRow(), 0) + .toString(); + try { + DateFormat formatter = new SimpleDateFormat( + "yyyy-MM-dd hh:mm:ss"); + client.writeLecturedata( + Lecture.lecture.getName(), + Lecture.lecture.getShortDesc(), + Lecture.lecture.getDesc(), + formatter.format( + Lecture.lecture.getStartdate()) + .toString(), + formatter.format( + Lecture.lecture.getEnddate()) + .toString(), + Lecture.lecture.isActive(), + imagename, + person.verantwortlicher.getUsername(), + person.verantwortlicher.getVorname(), + person.verantwortlicher.getName(), + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getEMail(), + person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultaet()); + JOptionPane + .showMessageDialog( + null, + "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.", + "Veranstaltung angelegt", + JOptionPane.INFORMATION_MESSAGE); + // zurueck zum Menue + MainMenue_GUI m = new MainMenue_GUI(); + m.setVisible(true); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane + .showMessageDialog( + null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", + JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + + dispose(); + + }else if (tablePublicVorlagen.getSelectedRow() != -1 &&tablePublicVorlagen.getValueAt(tablePublicVorlagen.getSelectedRow(), 4).toString().equals(username)){ + + // a row is selected, do operations + String imagename = tablePublicVorlagen.getValueAt( + tablePublicVorlagen.getSelectedRow(), 0) + .toString(); + try { + DateFormat formatter = new SimpleDateFormat( + "yyyy-MM-dd hh:mm:ss"); + client.writeLecturedata( + Lecture.lecture.getName(), + Lecture.lecture.getShortDesc(), + Lecture.lecture.getDesc(), + formatter.format( + Lecture.lecture.getStartdate()) + .toString(), + formatter.format( + Lecture.lecture.getEnddate()) + .toString(), + Lecture.lecture.isActive(), + imagename, + person.verantwortlicher.getUsername(), + person.verantwortlicher.getVorname(), + person.verantwortlicher.getName(), + person.verantwortlicher.getHochschule(), + person.verantwortlicher.getEMail(), + person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultaet()); + JOptionPane + .showMessageDialog( + null, + "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmen\u00fc zur\u00fcck.", + "Veranstaltung angelegt", + JOptionPane.INFORMATION_MESSAGE); + // zurueck zum Menue + MainMenue_GUI m = new MainMenue_GUI(); + m.setVisible(true); + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane + .showMessageDialog( + null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", + JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + + dispose(); + + }else if (tableAllImages.getSelectedRow() != -1 &&tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString().equals(username)){ // a row is selected, do operations String imagename = tableAllImages.getValueAt( @@ -415,7 +570,8 @@ public class CreateLectureLink_GUI extends JFrame { dispose(); - } else { + } + else { // nothing selected JOptionPane.showMessageDialog(null, "Bitte w\u00e4hlen Sie ein Image aus.", @@ -505,27 +661,31 @@ public class CreateLectureLink_GUI extends JFrame { } + // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { List<server.Image> images; try { + // Hole eine Liste der Images images = client.getImageList(); + Iterator<server.Image> i = images.iterator(); - List<Object[]> ListObj = new ArrayList<Object[]>(); + int x = 0; while (i.hasNext()) { - - i.next(); + // erzeuge Objekte fuer die Tabelle Object[] obj = { images.get(x).getImageName(), images.get(x).getLicenseRestriction(), images.get(x).getOsName(), images.get(x).getLectureName(), images.get(x).getUserData(), - images.get(x).getUpdateTime() - }; - ListObj.add(obj); - model.addRow(ListObj.get(x)); + images.get(x).getUpdateTime(), images.get(x).id, + images.get(x).getVersion(), + images.get(x).getIsTemplate()}; + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); x++; + i.next(); } @@ -533,6 +693,9 @@ public class CreateLectureLink_GUI extends JFrame { } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); } return model; } |
