summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/gui/lecture/CreateLectureLink_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/CreateLectureLink_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/CreateLectureLink_GUI.java')
-rw-r--r--Dozentenmodul/src/gui/lecture/CreateLectureLink_GUI.java339
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;
}