diff options
| author | Jonathan Bauer | 2014-09-11 15:04:50 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2014-09-11 15:04:50 +0200 |
| commit | e90286005f1cbedc77bfff91f867cb6aec25a595 (patch) | |
| tree | 361faf449e987518ffe33757d64af69539f0ef5c /dozentenmodul/src/main/java/gui/intro | |
| parent | lower case names for folder please (diff) | |
| download | tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.gz tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.xz tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.zip | |
oops
Diffstat (limited to 'dozentenmodul/src/main/java/gui/intro')
5 files changed, 1652 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/gui/intro/About_GUI.java b/dozentenmodul/src/main/java/gui/intro/About_GUI.java new file mode 100644 index 00000000..a97a217b --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/About_GUI.java @@ -0,0 +1,97 @@ +package gui.intro; + +import java.awt.Image; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextPane; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; + +import models.Version; + +import util.GuiOrganizer; + +@SuppressWarnings("serial") +public class About_GUI extends JFrame { + + private JPanel contentPane; + private JTextPane txtpnVersionVBuilddate; + + /** + * Create the frame. + */ + public About_GUI() { + // Fenster darf nicht vergroessert werden + setResizable(false); + + try { + // Setzt das Look and Feel auf System + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.ERROR_MESSAGE); + } + // Titel des Fensters setzen + setTitle("Dozentenmodul - About"); + // Aktion die beim Schliessen durchgefuehrt werden soll + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + // Groesse des Fensters definieren + setBounds(0, 0, 355, 309); + GuiOrganizer.centerGUI(this); + // Erzeugen eines Panels + contentPane = new JPanel(); + // Hintergrund Farbe des Panels setzen + contentPane.setBackground(SystemColor.menu); + // Rahmen des Fensters setzen + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + // Layout setzen + contentPane.setLayout(null); + // Label fuer das Logo erzeugen + JLabel imgLabel = new JLabel(); + // Groesse und Position des Logos festelegen + imgLabel.setBounds(30, 18, 294, 80); + // Pfadangabe des Logos + + ImageIcon icon = new ImageIcon(getClass().getResource( + "/img/Logo_bwLehrpool.png"), "Logo"); + // Skalierung des Logos + Image scaled = icon.getImage().getScaledInstance(270, 64, 0); + imgLabel.setIcon(new ImageIcon(scaled)); + // Hinzufuegen des Logos in das Fenster + contentPane.add(imgLabel); + + // Erzeugen, Hinzufuegen und definierung der Aktion des Buttons + JButton BtnClose = new JButton("Close"); + BtnClose.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + dispose(); + + }// end actionPerformed + }); + + BtnClose.setBounds(62, 226, 237, 23); + contentPane.add(BtnClose); + + txtpnVersionVBuilddate = new JTextPane(); + txtpnVersionVBuilddate + .setText("Version: "+Version.getVersion()+"\r\nBuild-Date: "+Version.getBuildDate()+"\r\n\r\nContact: michael.wilson@hs-offenburg.de\r\nWebsite: http://bwlehrpool.hs-offenburg.de/"); + txtpnVersionVBuilddate.setEditable(false); + txtpnVersionVBuilddate.setBackground(SystemColor.menu); + txtpnVersionVBuilddate.setBounds(62, 95, 224, 90); + contentPane.add(txtpnVersionVBuilddate); + }// end LoginGUI() +}// end class diff --git a/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java b/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java new file mode 100644 index 00000000..b11dc746 --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java @@ -0,0 +1,241 @@ +package gui.intro; + + +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.SwingConstants; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import models.Links; + +import org.ini4j.InvalidFileFormatException; +import org.ini4j.Wini; + +import util.GuiOrganizer; +import util.OpenLinks; + + + +@SuppressWarnings("serial") +public class BillOfRights_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + JButton fwdButton; + JCheckBox chckbxAkzeptieren; + + /** + * Create the dialog. + */ + public BillOfRights_GUI() { + setResizable(false); + + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + //Beendet das Programm beim Klick auf das X + System.exit(0); + } + }); + try { + //Setzt das Look & Feel auf das System + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + //Setzt den Fenstertitel + setTitle("bwLehrpool Suite"); + + //Zentiert das Fenster in der Bildschirmmitte + setBounds(0, 0, 603, 722); + GuiOrganizer.centerGUI(this); + + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 567, 60); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Hinweis"); + lblNewLabel.setBounds(10, 11, 509, 22); + panel.add(lblNewLabel); + lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18)); + } + + JTextPane txtpnBitteWhlenSie = new JTextPane(); + txtpnBitteWhlenSie.setEditable(false); + txtpnBitteWhlenSie.setBackground(SystemColor.menu); + txtpnBitteWhlenSie.setText("Bitte lesen und best\u00E4tigen Sie folgende rechtliche Hinweise"); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 95, 567, 485); + contentPanel.setBackground(SystemColor.menu); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + + JTextArea txtrLoremIpsumDolor = new JTextArea(); + txtrLoremIpsumDolor.setWrapStyleWord(true); + txtrLoremIpsumDolor.setLineWrap(true); + txtrLoremIpsumDolor.setEditable(false); + JScrollPane scr=new JScrollPane(txtrLoremIpsumDolor); + scr.setBounds(0, 0, 567, 477); + txtrLoremIpsumDolor.setBounds(0, 0, 567, 477); + txtrLoremIpsumDolor.setText("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. \r\n\r\nAt vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. \r\n\r\nConsetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus. \r\n\r\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo"); + + contentPanel.add(scr); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 630, 587, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + fwdButton = new JButton("Weiter"); + fwdButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + Wini ini=new Wini(new File("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + ini.put("main", "BillOfRights",true); + ini.store(); + } catch (InvalidFileFormatException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + VmWareLink_GUI ac=new VmWareLink_GUI(); + ac.setVisible(true); + dispose(); + } + }); + fwdButton.setEnabled(false); + + buttonPane.add(fwdButton); + } + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 617, 587, 2); + getContentPane().add(separator); + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 82, 587, 2); + getContentPane().add(separator); + } + + chckbxAkzeptieren = new JCheckBox("Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen."); + chckbxAkzeptieren.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + //Beim Akzeptieren der Bestaetigung wird der Weiter-Button verfuegbar gemacht + if(chckbxAkzeptieren.isSelected()==true) + { + + fwdButton.setEnabled(true); + + } + else + { + + } + } + }); + chckbxAkzeptieren.setBackground(SystemColor.menu); + chckbxAkzeptieren.setBounds(10, 587, 567, 23); + getContentPane().add(chckbxAkzeptieren); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnNewMenu_1 = new JMenu("Hilfe"); + mnNewMenu_1.setHorizontalAlignment(SwingConstants.CENTER); + menuBar.add(mnNewMenu_1); + + JMenuItem mntmFaq = new JMenuItem("FAQ"); + mntmFaq.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + + OpenLinks open = new OpenLinks(); + + URI windows; + try { + windows = new URI(Links.getFAQ()); + + open.openWebpage(windows); + + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }); + mnNewMenu_1.add(mntmFaq); + + + JMenuItem mntmOtrs = new JMenuItem("OTRS"); + mntmOtrs.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + + OpenLinks open = new OpenLinks(); + + URI windows; + try { + windows = new URI(Links.getOTRS()); + + open.openWebpage(windows); + + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }); + mnNewMenu_1.add(mntmOtrs); + + } +} diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java new file mode 100644 index 00000000..b27c7179 --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -0,0 +1,434 @@ +package gui.intro; + +import java.awt.Color; +import java.awt.EventQueue; +import java.awt.Image; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import java.io.IOException; + +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; +import javax.swing.SwingConstants; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; + +import models.SessionData; +import models.person; + +import org.apache.thrift.TException; +import org.ini4j.InvalidFileFormatException; +import org.ini4j.Wini; + +import org.openslx.imagemaster.thrift.iface.ImageServer.Client; +import thrift.MasterThriftConnection; +import thrift.ThriftConnection; +import org.openslx.imagemaster.thrift.iface.UserInfo; +import util.GuiOrganizer; +import config.config_file; +import javax.swing.JCheckBox; + +@SuppressWarnings("serial") +public class Login_GUI extends JFrame { + + private JPanel contentPane; + private JTextField lblusername; + private JPasswordField lblpass; + JLabel lblConnectionInfo = new JLabel(""); + boolean isClientReturnedCorrectly = false; + boolean login; + String masterServerIP = MasterThriftConnection.MASTERSERVERIP; + MasterThriftConnection thrift; + Client client; + String token; + JCheckBox chckbxBenutzernameSpeichern; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + // Pruefe und Erzeuge gegebenfalls Config + config_file cf = new config_file(); + boolean conf = cf.createConfig(); + if (conf == true) { + // Aufruf und Anzeige des Login Fensters + Login_GUI frame = new Login_GUI(); + frame.setVisible(true); + } else { + JOptionPane.showMessageDialog(null, + "Fehler beim erzeugen der Konfigurationsfile", + "Message", JOptionPane.ERROR_MESSAGE); + } + + } catch (Exception e) { + e.printStackTrace(); + JOptionPane.showMessageDialog(null, e.getStackTrace(), + "Message", JOptionPane.ERROR_MESSAGE); + } + } + }); + } + + /** + * Create the frame. + */ + public Login_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + System.exit(0); + } + }); + + // Fenster darf nicht vergroessert werden + setResizable(false); + + try { + // Setzt das Look and Feel auf System + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + // Titel des Fensters setzen + setTitle("bwLehrpool Suite"); + // Aktion die beim Schliessen durchgefuehrt werden soll + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + //Größe setzen und mittig ausrichten + setBounds(0, 0, 603, 400); + GuiOrganizer.centerGUI(this); + + + + // Erzeugen eines Panels + contentPane = new JPanel(); + // Hintergrund Farbe des Panels setzen + contentPane.setBackground(SystemColor.menu); + // Rahmen des Fensters setzen + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + // Layout setzen + contentPane.setLayout(null); + // Label fuer das Logo erzeugen + JLabel imgLabel = new JLabel(); + // Groesse und Position des Logos festelegen + imgLabel.setBounds(150, 11, 350, 142); + // Pfadangabe des Logos + + ImageIcon icon = new ImageIcon(getClass().getResource( + "/img/Logo_bwLehrpool.png"), "Logo"); + // Skalierung des Logos + Image scaled = icon.getImage().getScaledInstance(270, 64, 0); + imgLabel.setIcon(new ImageIcon(scaled)); + // Hinzufuegen des Logos in das Fenster + contentPane.add(imgLabel); + + chckbxBenutzernameSpeichern = new JCheckBox("Benutzername speichern"); + chckbxBenutzernameSpeichern.setBounds(292, 222, 237, 23); + contentPane.add(chckbxBenutzernameSpeichern); + + // Erzeugen und Hinzufuegen des Labels + JLabel LabelUser = new JLabel("bwIDM-Benutzername:"); + LabelUser.setBounds(111, 164, 134, 20); + contentPane.add(LabelUser); + + // Erzeugen und Hinzufuegen des Passwortfeldes + lblpass = new JPasswordField(); + lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein."); + lblpass.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + performLogin(); + } + }); + lblpass.setBounds(292, 195, 237, 20); + contentPane.add(lblpass); + + // Erzeugen und Hinzufuegen des Textfeldes + lblusername = new JTextField(); + lblusername + .setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein."); + try { + Wini ini = new Wini( + new File( + "C:\\Users\\" + + System.getProperty("user.name") + + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + if(ini.get("main", "Benutzername").isEmpty()){ + + }else{ + lblusername.setText(ini.get("main", "Benutzername").toString()); + + } + + if(ini.get("main", "Benutzername speichern", Boolean.class)==true){ + chckbxBenutzernameSpeichern.setSelected(true); + + } + } catch (InvalidFileFormatException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + lblusername.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + performLogin(); + } + }); + lblusername.setBounds(292, 164, 237, 20); + contentPane.add(lblusername); + lblusername.setColumns(10); + + // Erzeugen und Hinzufuegen des Labels + JLabel LabelPass = new JLabel("bwIDM-Passwort:"); + LabelPass.setBounds(111, 195, 134, 20); + contentPane.add(LabelPass); + + lblConnectionInfo.setHorizontalAlignment(SwingConstants.LEFT); + lblConnectionInfo.setBounds(111, 290, 418, 20); + lblConnectionInfo.setEnabled(true); + lblConnectionInfo.setText("Info: Bereit f\u00FCr Login"); + + contentPane.add(lblConnectionInfo); + + // Erzeugen, Hinzufuegen und definierung der Aktion des Buttons + JButton BtnLogin = new JButton("Login"); + BtnLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + + performLogin(); + }// end actionPerformed + }); + + BtnLogin.setBounds(292, 252, 237, 23); + contentPane.add(BtnLogin); + + + + + + + //GuiOrganizer.centerGUI(this); + }// end LoginGUI() + + // Versuche den Benutzer einzuloggen + public void performLogin() { + + login = false; + thrift = new MasterThriftConnection(); + client = thrift.getMasterThriftConnection(); + token = null; + org.openslx.imagemaster.thrift.iface.SessionData result = null; + + try { + + login = true; + String passText = new String(lblpass.getPassword()); + // check if client has received a connection with information or a + // null package + if (checkClientPackage() == true) { + + // package has information + //User-Info + + System.out.println("Authentifiziere - warte auf Masterserver"); + lblConnectionInfo.setForeground(Color.black); + + lblConnectionInfo.setText("Authentifiziere - warte auf Antwort von Server..."); + + result = client.authenticate(lblusername.getText(), passText); + + //User-Info + System.out.println("Authentifizierung erfolgreich"); + lblConnectionInfo.setForeground(Color.green); + lblConnectionInfo.setText("Authentifizierung erfolgreich"); + + //set Information + SessionData.session.setAuthToken(result.authToken); + SessionData.session.setSessionID(result.sessionId); + SessionData.session.setServerAdress(result.serverAddress); + + + //User-Info + lblConnectionInfo.setForeground(Color.black); + lblConnectionInfo.setText("Hole Verbindungsdaten von Server..."); + System.out.println("warte auf Masterserver"); + // set connection to bwLehrpoolSuiteServer + ThriftConnection bwthrift = new ThriftConnection(); + server.Server.Client bwClient = bwthrift.getThriftConnection(); + models.Client.clientcon.setClient(bwClient); + + //User-Info + System.out.println("Client macht weiter"); + System.out.println("Session-ID: " + result.sessionId + + "\nToken: " + result.authToken); + lblConnectionInfo.setForeground(Color.green); + lblConnectionInfo.setText("Daten erhalten."); + + if (login == true) { + //Daten speichern + if (SessionData.session.getAuthToken() == null) { + System.out.println("Token ist null"); + JOptionPane.showMessageDialog(null, + "Error: Token ist null", "Token defekt", + JOptionPane.ERROR_MESSAGE); + } + System.out.println("Arbeite ab jetzt mit Infos aus SessionData."); + UserInfo user = client.getUserFromToken(SessionData.session + .getAuthToken()); + + String hochschule = user.eMail.substring(user.eMail + .indexOf("@") + 1); + + person.verantwortlicher.setUsername(lblusername.getText() + .substring(0, lblusername.getText().indexOf("@"))); + person.verantwortlicher.setName(user.lastName); + person.verantwortlicher.setVorname(user.firstName); + person.verantwortlicher.setEMail(user.eMail); + person.verantwortlicher.setHochschule(hochschule); + + + //Sp�ter �ber result.getRole zum Beispiel die Rolle holen + person.verantwortlicher.setRole("Dozent"); + //person.verantwortlicher.setRole("Admin"); + //person.verantwortlicher.setRole("Student"); + //person.verantwortlicher.setRole("GetToTheChopper!"); + + + try { + // Lege config File an und entscheide welches Fenster + // als naechstes geoeffnet wird + Wini ini = new Wini( + new File( + "C:\\Users\\" + + System.getProperty("user.name") + + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + if(lblusername.getText().equals(ini.get("main","Benutzername",String.class))==true){ + if(chckbxBenutzernameSpeichern.isSelected()){ + ini.put("main", "Benutzername", lblusername.getText()); + ini.put("main", "Benutzername speichern", true); + ini.store(); + } + else{ + ini.put("main", "Benutzername", ""); + ini.put("main", "Benutzername speichern", false); + ini.store(); + } + }else{ + + if(chckbxBenutzernameSpeichern.isSelected()){ + ini.put("main", "Benutzername", lblusername.getText()); + ini.put("main", "Benutzername speichern", true); + ini.put("main", "BillOfRights",false); + ini.put("main", "vmware",false); + ini.store(); + } + else{ + ini.put("main", "Benutzername", ""); + ini.put("main", "Benutzername speichern", false); + ini.put("main", "BillOfRights",false); + ini.put("main", "vmware",false); + ini.store(); + } + } + + // Pruefe ob Bills Of Rights schon akzeptiert wurden, + // wenn + // nicht zeige diese an + if (ini.get("main", "BillOfRights", boolean.class) == false) { + // Erstellen einer Instanz der Aktionsauswahl + BillOfRights_GUI re = new BillOfRights_GUI(); + re.setVisible(true); + // Schliessen des Fensters nach erfolgreichen Login + setVisible(false); + } else { + // Pruefe ob die Links zu vmware angezeigt werden + // sollen + if (ini.get("main", "vmware", boolean.class) == false) { + VmWareLink_GUI vm = new VmWareLink_GUI(); + vm.setVisible(true); + setVisible(false); + } else { + + // oeffne das Hauptmenue + MainMenue_GUI main = new MainMenue_GUI(); + main.setVisible(true); + setVisible(false); + } + } + + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + + } + + } else { + JOptionPane.showMessageDialog(null, "Login denied!", + "Message", JOptionPane.INFORMATION_MESSAGE); + } + + } else { + // package from server is null + login = false; + lblConnectionInfo.setForeground(Color.red); + lblConnectionInfo + .setText("Fehler: Client nicht mit Server verbunden."); + + } + + } catch (org.openslx.imagemaster.thrift.iface.AuthenticationException e) { + lblConnectionInfo.setForeground(Color.red); + lblConnectionInfo + .setText("Fehler: Falscher Benutzername oder Passwort."); + System.out + .println("Authentifizierung fehlgeschlagen: " + e.message); + JOptionPane + .showMessageDialog( + null, + "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort \u00fcberpr\u00fcfen.", + "Anmeldung fehlgeschlagen", + JOptionPane.ERROR_MESSAGE); + e.printStackTrace(); + return; + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + + } + }// end performLogin + + public boolean checkClientPackage() { + // check if client is null or has been returned with information + System.out.println("Prüfe Eingangsdaten"); + if (client != null) { + // client contains information + isClientReturnedCorrectly = true; + System.out.println("Verbindungsdaten erhalten"); + } else { + // client has returned with error + isClientReturnedCorrectly = false; + System.out + .println("Fehler: Keine korrekten Verbindungsdaten erhalten."); + } + + return isClientReturnedCorrectly; + }// end checkServerConnection() +}// end class diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java new file mode 100644 index 00000000..a14525f0 --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -0,0 +1,606 @@ +package gui.intro; + +import gui.image.CreateImageAllgemein_GUI; +import gui.image.DeleteImage_GUI; +import gui.image.SearchEditImage_GUI; +import gui.image.SearchImage_GUI; +import gui.lecture.CreateLectureAllgemein_GUI; +import gui.lecture.DeleteLecture_GUI; +import gui.lecture.EditLectureSearch_GUI; +import gui.lecture.SearchLecture_GUI; + +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.ScrollPane; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JSeparator; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.SwingConstants; +import javax.swing.ToolTipManager; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.border.TitledBorder; + +import models.ImageRights; +import models.Links; +import models.SessionData; +import models.person; +import util.GuiOrganizer; +import util.OpenLinks; + +@SuppressWarnings("serial") +public class MainMenue_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + String descNewImage, descEditImage, descDeleteImage, descSearchImage, + descNewLecture, descEditLecture, descDeleteLecture, + descSearchLecture = ""; + JRadioButton rdbtnImageNew; + JRadioButton rdbtnImageEdit; + JRadioButton rdbtnImageSearchDownload; + JRadioButton rdbtnLectureNew; + JRadioButton rdbtnImageDelete; + JRadioButton rdbtnLectureEdit; + JRadioButton rdbtnLectureDelete; + JRadioButton rdbtnLectureSearch; + private final ButtonGroup buttonGroup = new ButtonGroup(); + private JMenuItem mntmAbout; + + // for testing + ImageRights imageRights = new ImageRights(); + + /** + * Create the dialog. + */ + public MainMenue_GUI() { + + // Leerzeile auf Konsole bei Rueckkehr ins Hauptmenue fuer leichteres + // Lesen + System.out.println("\n"); + + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + System.exit(0); + } + }); + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite - Connected Server: " + + SessionData.session.getServerAdress()); + setBounds(0, 0, 603, 722); + GuiOrganizer.centerGUI(this); + + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 11, 567, 69); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Hauptmen\u00FC"); + lblNewLabel.setBounds(10, 11, 509, 22); + panel.add(lblNewLabel); + lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); + } + + JTextPane txtpnBitteWhlenSie = new JTextPane(); + txtpnBitteWhlenSie.setEditable(false); + txtpnBitteWhlenSie.setBackground(SystemColor.menu); + txtpnBitteWhlenSie + .setText("Bitte w\u00E4hlen Sie ihre gew\u00FCnschte Aktion."); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 104, 567, 502); + contentPanel.setBackground(SystemColor.menu); + + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + + JPanel panelImage = new JPanel(); + panelImage.setBackground(SystemColor.menu); + panelImage.setBorder(new TitledBorder(null, "Image", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelImage.setBounds(10, 221, 270, 133); + contentPanel.add(panelImage); + panelImage.setLayout(null); + + rdbtnImageNew = new JRadioButton("Neu"); + rdbtnImageNew + .setToolTipText("Hier k\u00F6nnen Sie eine standard Laborvorlage downloaden"); + rdbtnImageNew.setBounds(20, 22, 159, 23); + panelImage.add(rdbtnImageNew); + buttonGroup.add(rdbtnImageNew); + rdbtnImageNew.setBackground(SystemColor.menu); + + rdbtnImageEdit = new JRadioButton("Bearbeiten"); + rdbtnImageEdit + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageEdit.setBounds(20, 48, 185, 23); + panelImage.add(rdbtnImageEdit); + buttonGroup.add(rdbtnImageEdit); + rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageEdit.setBackground(SystemColor.menu); + + rdbtnImageDelete = new JRadioButton("L\u00F6schen"); + rdbtnImageDelete.setEnabled(true); + buttonGroup.add(rdbtnImageDelete); + rdbtnImageDelete + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageDelete.setBackground(SystemColor.menu); + rdbtnImageDelete.setBounds(20, 74, 185, 23); + panelImage.add(rdbtnImageDelete); + + rdbtnImageSearchDownload = new JRadioButton("Suche und Download"); + buttonGroup.add(rdbtnImageSearchDownload); + rdbtnImageSearchDownload + .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); + rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); + rdbtnImageSearchDownload.setBackground(SystemColor.menu); + rdbtnImageSearchDownload.setBounds(20, 100, 185, 23); + panelImage.add(rdbtnImageSearchDownload); + + JPanel panelDesc = new JPanel(); + panelDesc.setLayout(null); + panelDesc.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "Erkl\u00e4rung", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelDesc.setBackground(SystemColor.menu); + panelDesc.setBounds(10, 364, 270, 133); + contentPanel.add(panelDesc); + + ScrollPane scrollPaneDesc = new ScrollPane(); + scrollPaneDesc.setBounds(10, 15, 250, 110); + final JTextArea txtDesc = new JTextArea(); + txtDesc.setEditable(false); + txtDesc.setBounds(280, 211, 10, 10); + txtDesc.setLineWrap(true); + txtDesc.setWrapStyleWord(true); + txtDesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); + txtDesc.setBackground(SystemColor.menu); + scrollPaneDesc.add(txtDesc); + // Pro AUswahl + txtDesc.setText("Legen Sie ein neues Image an und laden Sie anschlie\u00dfend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung f\u00fcr eine Veranstaltung."); + panelDesc.add(scrollPaneDesc); + + JPanel panelVeranstaltung = new JPanel(); + panelVeranstaltung.setLayout(null); + panelVeranstaltung.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "Veranstaltung (VMChooser)", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelVeranstaltung.setBackground(SystemColor.menu); + panelVeranstaltung.setBounds(290, 221, 270, 133); + contentPanel.add(panelVeranstaltung); + + rdbtnLectureNew = new JRadioButton("Neu"); + buttonGroup.add(rdbtnLectureNew); + rdbtnLectureNew + .setToolTipText("Hier k\u00F6nnen Sie Ihre Labordaten eingeben"); + rdbtnLectureNew.setBounds(20, 24, 185, 23); + panelVeranstaltung.add(rdbtnLectureNew); + rdbtnLectureNew.setBackground(SystemColor.menu); + + rdbtnLectureEdit = new JRadioButton("Bearbeiten"); + rdbtnLectureEdit + .setToolTipText("Hier k\u00F6nnen Sie einen Link auf ein bestehendes Labor erzeugen"); + rdbtnLectureEdit.setBounds(20, 50, 230, 23); + panelVeranstaltung.add(rdbtnLectureEdit); + buttonGroup.add(rdbtnLectureEdit); + rdbtnLectureEdit.setBackground(SystemColor.menu); + + rdbtnLectureDelete = new JRadioButton("L\u00F6schen"); + rdbtnLectureDelete + .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); + rdbtnLectureDelete.setBounds(20, 76, 175, 23); + panelVeranstaltung.add(rdbtnLectureDelete); + buttonGroup.add(rdbtnLectureDelete); + rdbtnLectureDelete.setBackground(SystemColor.menu); + + rdbtnLectureSearch = new JRadioButton("Suche"); + buttonGroup.add(rdbtnLectureSearch); + rdbtnLectureSearch + .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); + rdbtnLectureSearch.setBackground(SystemColor.menu); + rdbtnLectureSearch.setBounds(20, 102, 175, 23); + panelVeranstaltung.add(rdbtnLectureSearch); + + JPanel panelNews = new JPanel(); + panelNews.setLayout(null); + panelNews.setBorder(new TitledBorder(UIManager + .getBorder("TitledBorder.border"), "News", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelNews.setBackground(SystemColor.menu); + panelNews.setBounds(290, 364, 270, 133); + contentPanel.add(panelNews); + + ScrollPane scrollPaneNews = new ScrollPane(); + scrollPaneNews.setBounds(10, 15, 250, 110); + JTextArea txtNews = new JTextArea(); + txtNews.setEditable(false); + txtNews.setFont(new Font("Tahoma", Font.PLAIN, 11)); + txtNews.setBackground(SystemColor.menu); + txtNews.setWrapStyleWord(true); + txtNews.setLineWrap(true); + txtNews.setText("Hier werden mal die Neuigkeiten stehen. Diese kommen direkt vom Satelliten und sind HS-spezifisch."); + scrollPaneNews.add(txtNews); + panelNews.add(scrollPaneNews); + + /* + * Ber\u00fccksichtigen der Rechte für GUI + */ + // set the rights for this user + setRoleRights(); + processRights(); + setCorrectRadioButton(); + + /* + * Funktion Texte f\u00fcr das Klicken der RadioButtons + */ + rdbtnImageNew.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + descNewImage = "Legen Sie ein neues Image an und laden Sie anschlie\u00dfend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung f\u00fcr eine Veranstaltung."; + txtDesc.setText(descNewImage); + } + }); + rdbtnImageEdit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descEditImage = "Bearbeiten Sie die hinterlegten Informationen zu einem Image oder laden Sie eine neue .vmdk-Datei hoch."; + txtDesc.setText(descEditImage); + } + }); + rdbtnImageDelete.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descDeleteImage = "Suchen Sie alte und nicht mehr ben\u00f6tigte Images und l\u00f6schen Sie diese."; + txtDesc.setText(descDeleteImage); + } + }); + rdbtnImageSearchDownload.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descSearchImage = "Suchen Sie nach bestimmten Images oder verschaffen Sie sich einen \u00fcberblick \u00fcber alle verf\u00fcgbaren Images. Sie k\u00f6nnen gew\u00fcnschte Images umgehend herunterladen."; + txtDesc.setText(descSearchImage); + } + }); + rdbtnLectureNew.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descNewLecture = "Legen Sie eine neue Veranstaltung an und verkn\u00fcpfen Sie diese mit einem bereits vorhandenem Image. Ihre neue Veranstaltung kann auch auf dem Image eines anderen Dozenten beruhen."; + txtDesc.setText(descNewLecture); + } + }); + rdbtnLectureEdit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descEditLecture = "Bearbeiten Sie die hinterlegten Informationen zu einer Veranstaltung."; + txtDesc.setText(descEditLecture); + } + }); + rdbtnLectureDelete.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descDeleteLecture = "Suchen und l\u00f6schen Sie eine Veranstaltung. Das hiermit verbundene Image bleibt erhalten."; + txtDesc.setText(descDeleteLecture); + } + }); + rdbtnLectureSearch.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + descSearchLecture = "Suchen Sie nach bestimmten Veranstaltungen oder verschaffen Sie sich einen \u00fcberblick \u00fcber alle verf\u00fcgbaren Veranstaltungen. Eventuell gibt es bereits etwas passendes f\u00fcr Ihre Vorlesung."; + txtDesc.setText(descSearchLecture); + } + }); + /* + * Ende der Radiobuttons + */ + + JLabel lblGrafik = new JLabel(""); + // ToolTipp fuer Grafik + lblGrafik + .setToolTipText("<html>" + + "Ein virtuelles Labor besteht immer aus den beiden Komponenten <br>" + + "Image und Veranstaltung. Ein Image ist dabei die Grundlage f\u00FCr <br>" + + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung <br>" + + "erstellt werden, ohne ein neues Image hochladen zu m\u00FCssen. <br> <br> <br>" + + "<b>Image:</b> Das Image enth\u00E4lt die ben\u00F6tigte Software, die im <br>" + + "virtuellen Labor ben\u00F6tigt wird. Es wird von genau einem Dozenten <br>" + + "angelegt und besitzt einen allgemeinen Namen, z.B. \"Programmieren\". <br>" + + "Bei einem Image handelt es sich um eine Datei vom Typ VMDK. <br> <br> <br>" + + "<b>Veranstaltung:</b> Es k\u00F6nnen nun, basierend auf einem Image,<br>" + + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt <br>" + + "werden. Diese k\u00F6nnten z.B. konkret \"Web-Entwicklung\" oder \"K\u00FCnstliche <br>" + + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image <br>" + + "\"Programmieren\".</html>"); + lblGrafik.setIcon(new ImageIcon(MainMenue_GUI.class + .getResource("/img/e4_n_imgs2_bwl_vmc_v2.png"))); + + // ToolTipp lange anzeigen - 60sec + ToolTipManager.sharedInstance().setDismissDelay(60000); + ToolTipManager.sharedInstance().registerComponent(lblGrafik); + lblGrafik.setBounds(10, -12, 547, 189); + contentPanel.add(lblGrafik); + + JTextPane txtpnUmDetaillierteInformationen = new JTextPane(); + txtpnUmDetaillierteInformationen + .setText("Um detaillierte Informationen zu erhalten, fahren Sie bitte mit der Maus \u00FCber die Grafik."); + txtpnUmDetaillierteInformationen.setEditable(false); + txtpnUmDetaillierteInformationen.setBackground(SystemColor.menu); + txtpnUmDetaillierteInformationen.setBounds(10, 188, 509, 22); + contentPanel.add(txtpnUmDetaillierteInformationen); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 630, 587, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton continueButton = new JButton("Weiter"); + + continueButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // Images + if (rdbtnImageNew.isSelected() == true) { + CreateImageAllgemein_GUI sr = new CreateImageAllgemein_GUI(); + sr.setVisible(true); + dispose(); + } else if (rdbtnImageEdit.isSelected() == true) { + SearchEditImage_GUI si = new SearchEditImage_GUI(); + si.setVisible(true); + dispose(); + } else if (rdbtnImageDelete.isSelected() == true) { + DeleteImage_GUI di = new DeleteImage_GUI(); + di.setVisible(true); + dispose(); + } else if (rdbtnImageSearchDownload.isSelected() == true) { + // SearchMethodLecture_GUI sm = new + // SearchMethodLecture_GUI(); + SearchImage_GUI si = new SearchImage_GUI(); + si.setVisible(true); + dispose(); + // Lectures + } else if (rdbtnLectureNew.isSelected() == true) { + CreateLectureAllgemein_GUI av = new CreateLectureAllgemein_GUI(); + av.setVisible(true); + dispose(); + } else if (rdbtnLectureEdit.isSelected() == true) { + EditLectureSearch_GUI el = new EditLectureSearch_GUI(); + el.setVisible(true); + dispose(); + } else if (rdbtnLectureDelete.isSelected() == true) { + DeleteLecture_GUI dl = new DeleteLecture_GUI(); + dl.setVisible(true); + dispose(); + } else if (rdbtnLectureSearch.isSelected() == true) { + SearchLecture_GUI sl = new SearchLecture_GUI(); + sl.setVisible(true); + dispose(); + } else + JOptionPane.showMessageDialog(null, + "Keine Auswahl getroffen.", + "Auswahl fehlt", JOptionPane.ERROR_MESSAGE); + } + }); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); + getRootPane().setDefaultButton(continueButton); + } + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 617, 587, 2); + getContentPane().add(separator); + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 91, 587, 2); + getContentPane().add(separator); + } + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnNewMenu_1 = new JMenu("Hilfe"); + menuBar.add(mnNewMenu_1); + + JMenuItem mntmFaq = new JMenuItem("FAQ"); + mntmFaq.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + OpenLinks open = new OpenLinks(); + URI windows; + try { + windows = new URI(Links.getFAQ()); + open.openWebpage(windows); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }); + mnNewMenu_1.add(mntmFaq); + + JMenuItem mntmOtrs = new JMenuItem("OTRS"); + mntmOtrs.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + OpenLinks open = new OpenLinks(); + URI windows; + try { + windows = new URI(Links.getOTRS()); + open.openWebpage(windows); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }); + mnNewMenu_1.add(mntmOtrs); + + mntmAbout = new JMenuItem("About"); + mntmAbout.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + About_GUI ab = new About_GUI(); + ab.setVisible(true); + } + }); + mnNewMenu_1.add(mntmAbout); + + }// end main + + private void processRights() { + + /* + * Legt anhand der Rolle fest, welche Operationen der user machen darf. + * Rolle kommt vom Masterserver + */ + + // Image + if (person.verantwortlicher.getRole().equals("Student")) { + rdbtnImageNew.setEnabled(false); + rdbtnImageEdit.setEnabled(false); + rdbtnImageDelete.setEnabled(false); + rdbtnImageSearchDownload.setEnabled(true); + } else if (person.verantwortlicher.getRole().equals("Dozent") + || person.verantwortlicher.getRole().equals("Admin")) { + rdbtnImageNew.setEnabled(true); + rdbtnImageEdit.setEnabled(true); + rdbtnImageDelete.setEnabled(true); + rdbtnImageSearchDownload.setEnabled(true); + } else { + rdbtnImageNew.setEnabled(false); + rdbtnImageEdit.setEnabled(false); + rdbtnImageDelete.setEnabled(false); + rdbtnImageSearchDownload.setEnabled(false); + } + + // Veranstaltung + if (person.verantwortlicher.getRole().equals("Student")) { + rdbtnLectureNew.setEnabled(false); + rdbtnLectureEdit.setEnabled(false); + rdbtnLectureDelete.setEnabled(false); + rdbtnLectureSearch.setEnabled(true); + } else if (person.verantwortlicher.getRole().equals("Dozent") + || person.verantwortlicher.getRole().equals("Admin")) { + rdbtnLectureNew.setEnabled(true); + rdbtnLectureEdit.setEnabled(true); + rdbtnLectureDelete.setEnabled(true); + rdbtnLectureSearch.setEnabled(true); + } else { + rdbtnLectureNew.setEnabled(false); + rdbtnLectureEdit.setEnabled(false); + rdbtnLectureDelete.setEnabled(false); + rdbtnLectureSearch.setEnabled(false); + } + + }// end processRights() + + public void setRoleRights() { + // Set rights for user, depending on the role that is returned by the + // masterserver + + System.out.println("Ihre Rolle ist nun: " + + person.verantwortlicher.getRole()); + // role==Student + if (person.verantwortlicher.getRole().equals("Student")) { + ImageRights.rights.setRead(1); + ImageRights.rights.setWrite(0); + ImageRights.rights.setChangePermission(0); + ImageRights.rights.setAdmin(0); + ImageRights.rights.setLinkAllowed(0); + System.out.println("Rechte (r,w,cp,a,la): " + + ImageRights.rights.getRead() + "," + + ImageRights.rights.getWrite() + "," + + ImageRights.rights.getChangePermission() + "," + + ImageRights.rights.getAdmin() + "," + + ImageRights.rights.getLinkAllowed()); + + } else if (person.verantwortlicher.getRole().equals("Dozent")) { // role==Dozent + ImageRights.rights.setRead(1); + ImageRights.rights.setWrite(1); + ImageRights.rights.setChangePermission(0); + ImageRights.rights.setAdmin(0); + ImageRights.rights.setLinkAllowed(1); + System.out.println("Rechte (r,w,cp,a,la): " + + ImageRights.rights.getRead() + "," + + ImageRights.rights.getWrite() + "," + + ImageRights.rights.getChangePermission() + "," + + ImageRights.rights.getAdmin() + "," + + ImageRights.rights.getLinkAllowed()); + } else if (person.verantwortlicher.getRole().equals("Admin")) { // role==Admin + ImageRights.rights.setRead(1); + ImageRights.rights.setWrite(1); + ImageRights.rights.setChangePermission(1); + ImageRights.rights.setAdmin(1); + ImageRights.rights.setLinkAllowed(1); + System.out.println("Rechte (r,w,cp,a,la): " + + ImageRights.rights.getRead() + "," + + ImageRights.rights.getWrite() + "," + + ImageRights.rights.getChangePermission() + "," + + ImageRights.rights.getAdmin() + "," + + ImageRights.rights.getLinkAllowed()); + } else { // role==Nothing + ImageRights.rights.setRead(0); + ImageRights.rights.setWrite(0); + ImageRights.rights.setChangePermission(0); + ImageRights.rights.setAdmin(0); + ImageRights.rights.setLinkAllowed(0); + System.out.println("Rechte (r,w,cp,a,la): " + + ImageRights.rights.getRead() + "," + + ImageRights.rights.getWrite() + "," + + ImageRights.rights.getChangePermission() + "," + + ImageRights.rights.getAdmin() + "," + + ImageRights.rights.getLinkAllowed()); + }// end if else + }// end setRoleRights + + public void setCorrectRadioButton() { + // get the first enabled RadioButton depending on role an rights. Start + // at top + + if (rdbtnImageNew.isEnabled() == true) { + rdbtnImageNew.setSelected(true); + } else if (rdbtnImageEdit.isEnabled() == true) { + rdbtnImageEdit.setSelected(true); + } else if (rdbtnImageDelete.isEnabled() == true) { + rdbtnImageDelete.setSelected(true); + } else if (rdbtnImageSearchDownload.isEnabled() == true) { + rdbtnImageSearchDownload.setSelected(true); + } else if (rdbtnLectureNew.isEnabled() == true) { + rdbtnLectureNew.setSelected(true); + } else if (rdbtnLectureEdit.isEnabled() == true) { + rdbtnLectureEdit.setSelected(true); + } else if (rdbtnLectureDelete.isEnabled() == true) { + rdbtnLectureDelete.setSelected(true); + } else if (rdbtnLectureSearch.isEnabled() == true) { + rdbtnLectureSearch.setSelected(true); + } + + }// end setCorrectRadioButton() +}// end class diff --git a/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java b/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java new file mode 100644 index 00000000..d5350fbd --- /dev/null +++ b/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java @@ -0,0 +1,274 @@ +package gui.intro; + + +import java.awt.Desktop; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JSeparator; +import javax.swing.JTextPane; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.EmptyBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import models.Links; + +import org.ini4j.InvalidFileFormatException; +import org.ini4j.Wini; + +import util.GuiOrganizer; +import util.OpenLinks; + + +@SuppressWarnings("serial") +public class VmWareLink_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + JCheckBox chckbxNewCheckBox; + private JButton btnWindows; + + + /** + * Create the dialog. + */ + public VmWareLink_GUI() { + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + System.exit(0); + } + }); + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite"); + setBounds(0, 0, 603, 722); + GuiOrganizer.centerGUI(this); + + getContentPane().setLayout(null); + { + JPanel panel = new JPanel(); + panel.setBounds(0, 0, 577, 80); + getContentPane().add(panel); + panel.setLayout(null); + { + JLabel lblNewLabel = new JLabel("Hinweis VMWare Player"); + lblNewLabel.setBounds(10, 11, 509, 22); + panel.add(lblNewLabel); + lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18)); + } + + JTextPane txtpnBitteWhlenSie = new JTextPane(); + txtpnBitteWhlenSie.setEditable(false); + txtpnBitteWhlenSie.setBackground(SystemColor.menu); + txtpnBitteWhlenSie.setBounds(10, 36, 509, 42); + panel.add(txtpnBitteWhlenSie); + } + contentPanel.setBounds(10, 104, 567, 502); + contentPanel.setBackground(SystemColor.menu); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel); + contentPanel.setLayout(null); + + JTextPane txtpnUmIhreVmdk = new JTextPane(); + txtpnUmIhreVmdk.setBackground(SystemColor.menu); + txtpnUmIhreVmdk.setEditable(false); + txtpnUmIhreVmdk.setText("F\u00FCr die Arbeit mit der bwLehrpool Suite wird zwingend ein VMWare Player ben\u00F6tigt. Diesen k\u00F6nnen Sie sich unter folgendem Link kostenfrei downloaden."); + txtpnUmIhreVmdk.setBounds(10, 16, 499, 66); + contentPanel.add(txtpnUmIhreVmdk); + + JLabel lblNewLabel_1 = new JLabel("<html><b>Windows: </b></html>"); + lblNewLabel_1.setBounds(10, 93, 499, 14); + contentPanel.add(lblNewLabel_1); + + chckbxNewCheckBox = new JCheckBox("Diese Benachrichtigung nicht mehr anzeigen."); + chckbxNewCheckBox.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(chckbxNewCheckBox.isSelected()==true) + { + try { + Wini ini=new Wini(new File("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + ini.put("main", "vmware",true); + ini.store(); + } catch (InvalidFileFormatException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + e1.getCause()+"\n"+e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + } + } + }); + chckbxNewCheckBox.setBounds(6, 472, 555, 23); + contentPanel.add(chckbxNewCheckBox); + + JLabel lbllinuxvmwarePlayer = new JLabel("<html><b>Linux: </b></html>"); + lbllinuxvmwarePlayer.setBounds(10, 178, 499, 14); + contentPanel.add(lbllinuxvmwarePlayer); + + btnWindows = new JButton("VMware Player herunterladen"); + btnWindows.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + try { + + OpenLinks open = new OpenLinks(); + + URI windows= new URI(Links.getUriWindows()); + + open.openWebpage(windows); + + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }); + btnWindows.setBounds(10, 119, 186, 23); + contentPanel.add(btnWindows); + + JButton btnLinux = new JButton("VMware Player herunterladen"); + btnLinux.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + OpenLinks open = new OpenLinks(); + + URI linux= new URI(Links.getUriLinux()); + + open.openWebpage(linux); + + } catch (URISyntaxException f) { + // TODO Auto-generated catch block + f.printStackTrace(); + } + } + }); + btnLinux.setBounds(10, 203, 186, 23); + contentPanel.add(btnLinux); + { + JPanel buttonPane = new JPanel(); + buttonPane.setBounds(0, 630, 587, 33); + buttonPane.setBackground(SystemColor.menu); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane); + { + JButton cancelButton = new JButton("Weiter"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + MainMenue_GUI ea=new MainMenue_GUI(); + ea.setVisible(true); + dispose(); + } + }); + cancelButton.setActionCommand("Cancel"); + buttonPane.add(cancelButton); + } + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 617, 587, 2); + getContentPane().add(separator); + } + { + JSeparator separator = new JSeparator(); + separator.setBounds(0, 91, 587, 2); + getContentPane().add(separator); + } + { + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + { + JMenu mnHilfe = new JMenu("Hilfe"); + menuBar.add(mnHilfe); + { + JMenuItem mntmFaq = new JMenuItem("FAQ"); + mntmFaq.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + + OpenLinks open = new OpenLinks(); + + URI windows; + try { + windows = new URI(Links.getFAQ()); + + open.openWebpage(windows); + + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }); + + mnHilfe.add(mntmFaq); + } + { + JMenuItem mntmOTRS = new JMenuItem("OTRS"); + mntmOTRS.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + + OpenLinks open = new OpenLinks(); + + URI windows; + try { + windows = new URI(Links.getOTRS()); + + open.openWebpage(windows); + + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }); + + mnHilfe.add(mntmOTRS); + } + } + } + + + + }//end constructor + + + +}// end class |
