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/EditLectureLink_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/EditLectureLink_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java | 369 |
1 files changed, 267 insertions, 102 deletions
diff --git a/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java b/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java index b9b551d3..a3490a63 100644 --- a/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java +++ b/Dozentenmodul/src/gui/lecture/EditLectureLink_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 EditLectureLink_GUI extends JFrame { @@ -70,11 +75,33 @@ public class EditLectureLink_GUI extends JFrame { JTable tablePublicImages = new JTable(); JTable tablePublicVorlagen = new JTable(); private JTextField textFieldName; + JTabbedPane tabbedPane; + boolean activeSearch=false; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "Schlagwort", "ID", "Version" }; + "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. */ @@ -85,6 +112,13 @@ public class EditLectureLink_GUI extends JFrame { con.closeThriftConnection(); System.exit(0); } + @Override + public void windowOpened(WindowEvent arg0) { + initTableModel(modelAll); + initTableModel(modelMyImages); + initTableModel(modelPublicVorlagen); + textFieldName.requestFocusInWindow(); + } }); setResizable(false); @@ -100,7 +134,7 @@ public class EditLectureLink_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); @@ -135,7 +169,7 @@ public class EditLectureLink_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, 91); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -152,19 +186,27 @@ public class EditLectureLink_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); + } } @@ -174,21 +216,6 @@ public class EditLectureLink_GUI extends JFrame { panel_1.add(textFieldName); textFieldName.setColumns(10); - JLabel lblErweiterteSuche = new JLabel( - "<html><u>Erweiterte Suche *Folgt noch*</u></html>"); - lblErweiterteSuche.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - // ExtendedSearchForImages_GUI es = new - // ExtendedSearchForImages_GUI(); - // es.setVisible(true); - } - }); - lblErweiterteSuche.setForeground(Color.BLUE); - - lblErweiterteSuche.setBounds(317, 106, 203, 14); - panel_1.add(lblErweiterteSuche); - comboBox = new JComboBox<String>(); try { List<String> list = client.getAllOS(); @@ -202,19 +229,24 @@ public class EditLectureLink_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); } } }); @@ -252,19 +284,28 @@ public class EditLectureLink_GUI extends JFrame { lblNewLabel_1.setBounds(164, 11, 113, 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); - contentPanel.add(tabbedPane); - - JScrollPane scrollPaneMyImage = new JScrollPane(); + } + }); - tablemyImages.setModel(model); - 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(); + tabbedPane.setBounds(10, 151, 557, 346); + contentPanel.add(tabbedPane); JScrollPane scrollPaneAllImages = new JScrollPane(); tableAllImages.setModel(modelAll); @@ -273,13 +314,36 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); + tableAllImages.setRowSorter(rowSorterAll); + JScrollPane scrollPaneMyImage = new JScrollPane(); + + 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(); + tablemyImages.setRowSorter(rowSorterMyImages); + scrollPaneMyImage.setViewportView(tablemyImages); + tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); + + 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); + tabbedPane.setEnabledAt(1, false); scrollPaneAllImages.setViewportView(tableAllImages); tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); - scrollPaneMyImage.setViewportView(tablemyImages); - tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); - JScrollPane scrollPaneCoopImages = new JScrollPane(); tableCoopImages.setModel(model); @@ -292,7 +356,7 @@ public class EditLectureLink_GUI extends JFrame { scrollPaneCoopImages.setViewportView(tableCoopImages); tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); - tabbedPane.setEnabledAt(2, false); + tabbedPane.setEnabledAt(3, false); JScrollPane scrollPanePublicImages = new JScrollPane(); @@ -306,20 +370,6 @@ public class EditLectureLink_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); JButton btnLinkLschen = new JButton("Link l\u00F6schen"); @@ -327,7 +377,7 @@ public class EditLectureLink_GUI extends JFrame { btnLinkLschen.setBounds(478, 508, 89, 23); contentPanel.add(btnLinkLschen); - initTableModel(modelAll); + { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); @@ -353,26 +403,20 @@ public class EditLectureLink_GUI extends JFrame { "Veranstaltung \u00e4ndern und abschlie\u00DFen"); cancelButton.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 = tableAllImages.getValueAt( - tableAllImages.getSelectedRow(), 0) + String imagename = tablemyImages.getValueAt( + tablemyImages.getSelectedRow(), 0) .toString(); - try { - DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); - client.updateLecturedata( + client.writeLecturedata( Lecture.lecture.getName(), - Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), formatter.format( @@ -383,39 +427,153 @@ public class EditLectureLink_GUI extends JFrame { .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(), - Lecture.lecture.getid()); + 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( + tableAllImages.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 { + } + else { // nothing selected JOptionPane.showMessageDialog(null, "Bitte w\u00e4hlen Sie ein Image aus.", "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); - } - MainMenue_GUI m = new MainMenue_GUI(); - m.setVisible(true); - dispose(); - } }); cancelButton.setActionCommand("Cancel"); @@ -498,27 +656,31 @@ public class EditLectureLink_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(), "", images.get(x).id, - images.get(x).getVersion() }; - 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(); } @@ -526,6 +688,9 @@ public class EditLectureLink_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; } |
