diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java | 489 |
1 files changed, 0 insertions, 489 deletions
diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java deleted file mode 100644 index 2c1a939f..00000000 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ /dev/null @@ -1,489 +0,0 @@ -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 javax.swing.ButtonGroup; -import javax.swing.JButton; -import javax.swing.JInternalFrame; -import javax.swing.JLabel; -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.border.EmptyBorder; -import javax.swing.border.TitledBorder; - -import models.GUIRights; -import models.Image; -import models.ImageRights; -import models.ItemOwner; -import models.RightsManagement; -import models.SessionData; -import models.person; - -import org.apache.log4j.Logger; - -import util.GuiManager; -import util.News; -import util.ResourceLoader; - -@SuppressWarnings("serial") -public class MainMenue_GUI extends JInternalFrame { - - private final static Logger LOGGER = Logger.getLogger(MainMenue_GUI.class); - - private final JPanel contentPanel = new JPanel(); - private String descNewImage, descEditImage, descDeleteImage, descSearchImage, descNewLecture, - descEditLecture, descDeleteLecture, descSearchLecture = ""; - private JRadioButton rdbtnImageNew; - private JRadioButton rdbtnImageEdit; - private JRadioButton rdbtnImageSearchDownload; - private JRadioButton rdbtnLectureNew; - private JRadioButton rdbtnImageDelete; - private JRadioButton rdbtnLectureEdit; - private JRadioButton rdbtnLectureDelete; - private JRadioButton rdbtnLectureSearch; - private final ButtonGroup buttonGroup = new ButtonGroup(); - - // for testing - ImageRights imageRights = new ImageRights(); - - boolean tokenDeleted; - - public MainMenue_GUI() { - setTitle("bwLehrpool Suite - Connected Server: " + SessionData.serverAdress + " - " - + person.verantwortlicher.getUserID()); - - setBounds(0, 0, 603, 722); - - 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ü"); - 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ählen Sie ihre gewünschte Aktion."); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); - panel.add(txtpnBitteWhlenSie); - } - - //reset the list of permissions and models - //every time the user goes back to the main menu - RightsManagement.rightsManagement.getPermittedUserList().clear(); - Image.reset(); - ItemOwner.itemOwner.reset(); - - setResizable(false); // window is not resizable - - 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önnen Sie ein neues Image anlegen und im Anschluss eine Veranstaltung darauf verlinken"); - rdbtnImageNew.setBounds(20, 22, 244, 23); - panelImage.add(rdbtnImageNew); - buttonGroup.add(rdbtnImageNew); - rdbtnImageNew.setBackground(SystemColor.menu); - - rdbtnImageEdit = new JRadioButton("Bearbeiten"); - rdbtnImageEdit.setToolTipText("Hier können Sie ein bereits angelegtes Image bearbeiten"); - rdbtnImageEdit.setBounds(20, 48, 244, 23); - panelImage.add(rdbtnImageEdit); - buttonGroup.add(rdbtnImageEdit); - rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageEdit.setBackground(SystemColor.menu); - - rdbtnImageDelete = new JRadioButton("Löschen"); - rdbtnImageDelete.setEnabled(true); - buttonGroup.add(rdbtnImageDelete); - rdbtnImageDelete.setToolTipText("Löschen Sie hier Images, die Sie nicht mehr benötigen"); - rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageDelete.setBackground(SystemColor.menu); - rdbtnImageDelete.setBounds(20, 74, 244, 23); - panelImage.add(rdbtnImageDelete); - - rdbtnImageSearchDownload = new JRadioButton("Suche und Download (inkl. Vorlagen)"); - buttonGroup.add(rdbtnImageSearchDownload); - rdbtnImageSearchDownload - .setToolTipText("Hier können Sie ein bestehendes Labor zum verändern downloaden"); - rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); - rdbtnImageSearchDownload.setBackground(SystemColor.menu); - rdbtnImageSearchDownload.setBounds(20, 100, 244, 23); - panelImage.add(rdbtnImageSearchDownload); - - JPanel panelDesc = new JPanel(); - panelDesc.setLayout(null); - panelDesc.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Erklärung", - 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ßend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung für 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("Erzeugen Sie Veranstaltungen, die dann im VMChooser erscheinen und mit denen Ihre Studierenden arbeiten können - hierzu benötigen Sie ein Image"); - rdbtnLectureNew.setBounds(20, 24, 230, 23); - panelVeranstaltung.add(rdbtnLectureNew); - rdbtnLectureNew.setBackground(SystemColor.menu); - - rdbtnLectureEdit = new JRadioButton("Bearbeiten"); - rdbtnLectureEdit - .setToolTipText("Bearbeiten Sie Ihre Veranstaltungsdaten, wie beispielsweise den Anzeigenamen und die Details"); - rdbtnLectureEdit.setBounds(20, 50, 230, 23); - panelVeranstaltung.add(rdbtnLectureEdit); - buttonGroup.add(rdbtnLectureEdit); - rdbtnLectureEdit.setBackground(SystemColor.menu); - - rdbtnLectureDelete = new JRadioButton("Löschen"); - rdbtnLectureDelete.setToolTipText("Löschen Sie nicht mehr benötigte Veranstaltungen"); - rdbtnLectureDelete.setBounds(20, 76, 230, 23); - panelVeranstaltung.add(rdbtnLectureDelete); - buttonGroup.add(rdbtnLectureDelete); - rdbtnLectureDelete.setBackground(SystemColor.menu); - - rdbtnLectureSearch = new JRadioButton("Suche"); - buttonGroup.add(rdbtnLectureSearch); - rdbtnLectureSearch - .setToolTipText("Hier können Sie wahlweise nach Ihren eigenen, aber auch nach allen verfügbaren Veranstaltungen suchen"); - rdbtnLectureSearch.setBackground(SystemColor.menu); - rdbtnLectureSearch.setBounds(20, 102, 230, 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); - if (News.getContent() != null) - txtNews.setText(News.getContent()); - scrollPaneNews.add(txtNews); - panelNews.add(scrollPaneNews); - - /* - * Berücksichtigen der Rechte für GUI - */ - // set the rights for this user - setRoleRights(); - processRights(); - setCorrectRadioButton(); - - /* - * Funktion Texte für das Klicken der RadioButtons - */ - rdbtnImageNew.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - descNewImage = "Legen Sie ein neues Image an und laden Sie anschließend die passende .vmdk-Datei hoch. Ein Image (wenn auch von einem anderen Dozenten) ist die Voraussetzung für 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ötigte Images und löschen 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 überblick über alle verfügbaren Images. Sie können gewünschte Images umgehend herunterladen."; - txtDesc.setText(descSearchImage); - } - }); - rdbtnLectureNew.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - descNewLecture = "Legen Sie eine neue Veranstaltung an und verknüpfen 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öschen 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 überblick über alle verfügbaren Veranstaltungen. Eventuell gibt es bereits etwas passendes für 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ür <br>" - + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung <br>" - + "erstellt werden, ohne ein neues Image hochladen zu müssen. <br> <br> <br>" - + "<b>Image:</b> Das Image enthält die benötigte Software, die im <br>" - + "virtuellen Labor benötigt 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önnen nun, basierend auf einem Image,<br>" - + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt <br>" - + "werden. Diese könnten z.B. konkret \"Web-Entwicklung\" oder \"Künstliche <br>" - + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image <br>" - + "\"Programmieren\".</html>"); - lblGrafik.setIcon(ResourceLoader.getIcon("/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 über die Grafik."); - txtpnUmDetaillierteInformationen.setEditable(false); - txtpnUmDetaillierteInformationen.setBackground(SystemColor.menu); - txtpnUmDetaillierteInformationen.setBounds(10, 177, 509, 36); - 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) { - GuiManager.show(new CreateImageAllgemein_GUI()); - } else if (rdbtnImageEdit.isSelected() == true) { - GuiManager.show(new SearchEditImage_GUI()); - } else if (rdbtnImageDelete.isSelected() == true) { - GuiManager.show(new DeleteImage_GUI()); - } else if (rdbtnImageSearchDownload.isSelected() == true) { - GuiManager.show(new SearchImage_GUI()); - // Lectures - } else if (rdbtnLectureNew.isSelected() == true) { - GuiManager.show(new CreateLectureAllgemein_GUI()); - } else if (rdbtnLectureEdit.isSelected() == true) { - GuiManager.show(new EditLectureSearch_GUI()); - } else if (rdbtnLectureDelete.isSelected() == true) { - GuiManager.show(new DeleteLecture_GUI()); - } else if (rdbtnLectureSearch.isSelected() == true) { - GuiManager.show(new SearchLecture_GUI()); - } 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); - } - }// end main - - /** - * Enables/disables radio button given the user's rights - */ - private void processRights() { - // 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() - - /** - * Sets rights for the user depending on its role - * returned by the masterserver - */ - public void setRoleRights() { - LOGGER.info("Role: " + person.verantwortlicher.getRole()); - - // role==Student - if (person.verantwortlicher.getRole().equals("Student")) { - GUIRights.rights.setRead(1); - GUIRights.rights.setWrite(0); - GUIRights.rights.setChangePermission(0); - GUIRights.rights.setAdmin(0); - GUIRights.rights.setLinkAllowed(0); - - } else if (person.verantwortlicher.getRole().equals("Dozent")) { // role==Dozent - GUIRights.rights.setRead(1); - GUIRights.rights.setWrite(1); - GUIRights.rights.setChangePermission(0); - GUIRights.rights.setAdmin(0); - GUIRights.rights.setLinkAllowed(1); - } else if (person.verantwortlicher.getRole().equals("Admin")) { // role==Admin - GUIRights.rights.setRead(1); - GUIRights.rights.setWrite(1); - GUIRights.rights.setChangePermission(1); - GUIRights.rights.setAdmin(1); - GUIRights.rights.setLinkAllowed(1); - } else { // role==Nothing - GUIRights.rights.setRead(0); - GUIRights.rights.setWrite(0); - GUIRights.rights.setChangePermission(0); - GUIRights.rights.setAdmin(0); - GUIRights.rights.setLinkAllowed(0); - }// 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 |
