summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java
diff options
context:
space:
mode:
authorTobias Spitzer2014-07-25 12:15:09 +0200
committerTobias Spitzer2014-07-25 12:15:09 +0200
commit6e1827810388387804b9700f7ba6f5a377c6241a (patch)
tree48068e68763365f1e93312d12db39d881f95b710 /Dozentenmodul/src/gui/lecture/EditLectureLink_GUI.java
parentPermission GUI zur Veranschaulichung (keine Funktionalität) implementiert (diff)
downloadtutor-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.java369
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;
}