summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java552
1 files changed, 552 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java
new file mode 100644
index 00000000..d2b0dada
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java
@@ -0,0 +1,552 @@
+package gui.image;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Checkbox;
+import java.awt.Color;
+import java.awt.Component;
+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.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.swing.AbstractButton;
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+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.border.TitledBorder;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+
+import models.Image;
+import models.Links;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import javax.swing.JTable;
+import javax.swing.JScrollPane;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.JTextField;
+
+import org.eclipse.jface.viewers.CheckboxCellEditor;
+
+import java.awt.Choice;
+
+@SuppressWarnings("serial")
+public class PermissionCreateImage_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ String[] result;
+ private JTable table;
+ private Class[] classes;
+ Object[] titles = { "Name", "Read", "Write", "Link allowed","Admin"};
+
+ final DefaultTableModel model = new DefaultTableModel(titles, 0) {
+
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ if (mColIndex >= 1) {
+ return true;
+ }
+ return false;
+ }
+
+ public Class getColumnClass(int c) {
+ switch (c) {
+ case 0:
+ return String.class;
+ default:
+ return Boolean.class;
+ }
+ }
+
+ };
+ private JTextField textField;
+ private JLabel lblRead;
+ private JLabel lblWrite;
+ private JLabel lblAdmin;
+ private JLabel lblLinkallowed;
+ private JLabel lblReadDesc;
+ private JLabel lblWriteDesc;
+ private JLabel lblAdminDesc;
+ private JLabel lblLinkallowedDesc;
+ private JCheckBox chckbxFrAlleSichtbar;
+ private JLabel lblFuerAlleSichtbar;
+
+ public PermissionCreateImage_GUI() {
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent arg0) {
+ System.exit(0);
+ }
+ });
+ setResizable(false);
+
+ try {
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ } catch (ClassNotFoundException | InstantiationException
+ | IllegalAccessException | UnsupportedLookAndFeelException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ setTitle("bwLehrpool Suite - Image erzeugen");
+
+ setBounds(0, 0, 603, 722);
+ GuiOrganizer.centerGUI(this);
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 577, 57);
+ getContentPane().add(panel);
+ panel.setLayout(null);
+ {
+ JLabel lblNewLabel = new JLabel(
+ "Image Berechtigungen (Nur zur Veranschaulichung)");
+ 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("Definieren Sie hier bitte die gew\u00FCnschten Berechtigungen f\u00FCr ihr Image");
+ txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
+ panel.add(txtpnBitteWhlenSie);
+ }
+ contentPanel.setBounds(10, 85, 577, 531);
+ contentPanel.setBackground(SystemColor.menu);
+ contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
+ getContentPane().add(contentPanel);
+ contentPanel.setLayout(null);
+
+ JPanel panel_1 = new JPanel();
+ panel_1.setBackground(SystemColor.menu);
+ panel_1.setBorder(new TitledBorder(null, "Berechtigungen",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBounds(10, 228, 557, 292);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane
+ .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane.setBounds(10, 21, 537, 260);
+ panel_1.add(scrollPane);
+
+ table = new JTable();
+ table.setModel(model);
+ table.setSelectionForeground(Color.WHITE);
+ Object[] rowdata = { "Max Mustermann", new Boolean(false),
+ new Boolean(false), new Boolean(false), new Boolean(false),
+ new Boolean(false) };
+ model.addRow(rowdata);
+
+ TableCellRenderer rend = table.getTableHeader().getDefaultRenderer();
+
+ TableColumn tc1 = table.getColumnModel().getColumn(1);
+ tc1.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(),
+ (String) titles[1]));
+
+ TableColumn tc2 = table.getColumnModel().getColumn(2);
+ tc2.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(),
+ (String) titles[2]));
+
+ TableColumn tc3 = table.getColumnModel().getColumn(3);
+ tc3.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(),
+ (String) titles[3]));
+
+ TableColumn tc4 = table.getColumnModel().getColumn(4);
+ tc4.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(),
+ (String) titles[4]));
+
+ /*
+ TableColumn tc5 = table.getColumnModel().getColumn(5);
+ tc5.setCellEditor(table.getDefaultEditor(Boolean.class));
+ tc5.setCellRenderer(table.getDefaultRenderer(Boolean.class));
+ tc5.setHeaderRenderer(new CheckBoxHeader(new MyItemListener5(),
+ (String) titles[5]));
+ */
+ scrollPane.setViewportView(table);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+
+ PermissionCreateImage_GUI.this.setVisible(false);
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ }
+ });
+ lblHauptmen.setForeground(Color.BLUE);
+ lblHauptmen.setBounds(10, 11, 61, 14);
+ contentPanel.add(lblHauptmen);
+
+ JLabel label_1 = new JLabel(">");
+ label_1.setBounds(69, 11, 13, 14);
+ contentPanel.add(label_1);
+
+ JLabel lblVlimage = new JLabel("Image");
+ lblVlimage.setForeground(Color.BLUE);
+ lblVlimage.setBounds(81, 11, 45, 14);
+ contentPanel.add(lblVlimage);
+
+ JLabel label_2 = new JLabel(">");
+ label_2.setBounds(133, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Berechtigung");
+ lblNewLabel_1.setBounds(146, 11, 80, 14);
+ contentPanel.add(lblNewLabel_1);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 36, 46, 20);
+ contentPanel.add(lblName);
+
+ textField = new JTextField();
+ textField.setBounds(69, 36, 171, 20);
+ contentPanel.add(textField);
+ textField.setColumns(10);
+
+ JLabel lblHochschule = new JLabel("Hochschule:");
+ lblHochschule.setBounds(275, 36, 80, 20);
+ contentPanel.add(lblHochschule);
+
+ JComboBox comboBox = new JComboBox();
+ comboBox.setModel(new DefaultComboBoxModel(new String[] {
+ "Hochschule Offenburg", "Hochschule Reutlingen",
+ "Universit\u00E4t Freiburg" }));
+ comboBox.setBounds(365, 36, 202, 20);
+ contentPanel.add(comboBox);
+
+ JPanel panel_2 = new JPanel();
+ panel_2.setBackground(SystemColor.menu);
+ panel_2.setBorder(new TitledBorder(null, "Beschreibung",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_2.setBounds(10, 67, 557, 150);
+ contentPanel.add(panel_2);
+ panel_2.setLayout(null);
+
+ lblRead = new JLabel("Read");
+ lblRead.setBounds(20, 18, 90, 20);
+ panel_2.add(lblRead);
+
+ lblWrite = new JLabel("Write");
+ lblWrite.setBounds(20, 38, 90, 20);
+ panel_2.add(lblWrite);
+
+ lblAdmin = new JLabel("Admin");
+ lblAdmin.setBounds(20, 78, 90, 20);
+ panel_2.add(lblAdmin);
+
+ lblLinkallowed = new JLabel("Link allowed");
+ lblLinkallowed.setBounds(20, 58, 90, 20);
+ panel_2.add(lblLinkallowed);
+
+ lblReadDesc = new JLabel(
+ "Image lesen und starten, in Suchfenster und VMchooser sichtbar.");
+ lblReadDesc.setBounds(120, 18, 427, 20);
+ panel_2.add(lblReadDesc);
+
+ lblWriteDesc = new JLabel(
+ "Image anpassen und überschrieben, jedoch nicht löschen.");
+ lblWriteDesc.setBounds(120, 38, 380, 20);
+ panel_2.add(lblWriteDesc);
+
+ lblAdminDesc = new JLabel(
+ "<HTML>Volle Rechte: read, write, löschen, Link_allowed und<br>Berechtigungen für andere Benutzer festlegen.</HTML>");
+ lblAdminDesc.setBounds(120, 78, 380, 40);
+ panel_2.add(lblAdminDesc);
+
+ lblLinkallowedDesc = new JLabel(
+ "Erzeugung einer Veranstaltung auf ein Image ist erlaubt.");
+ lblLinkallowedDesc.setBounds(120, 58, 380, 20);
+ panel_2.add(lblLinkallowedDesc);
+
+ chckbxFrAlleSichtbar = new JCheckBox("");
+ chckbxFrAlleSichtbar.setBounds(115, 119, 21, 23);
+ panel_2.add(chckbxFrAlleSichtbar);
+
+ lblFuerAlleSichtbar = new JLabel("Für alle sichtbar");
+ lblFuerAlleSichtbar.setBounds(20, 120, 90, 20);
+ panel_2.add(lblFuerAlleSichtbar);
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 597, 33);
+ buttonPane.setBackground(SystemColor.menu);
+ buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
+ getContentPane().add(buttonPane);
+ {
+ JButton cancelButton = new JButton("Zur\u00FCck");
+ cancelButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+
+ CreateImageFreigabe_GUI sr = new CreateImageFreigabe_GUI();
+ sr.setVisible(true);
+ dispose();
+ }
+ });
+ cancelButton.setActionCommand("OK");
+ buttonPane.add(cancelButton);
+ // getRootPane().setDefaultButton(cancelButton);
+ }
+ {
+ JButton continueButton = new JButton("Weiter");
+ continueButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+
+ FTPCreateUploader_GUI ea = new FTPCreateUploader_GUI();
+ ea.setVisible(true);
+ dispose();
+
+ }
+ });
+ continueButton.setActionCommand("Cancel");
+ buttonPane.add(continueButton);
+ getRootPane().setDefaultButton(continueButton);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 78, 597, 2);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 627, 597, 2);
+ getContentPane().add(separator_1);
+
+ 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);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ class MyItemListener1 implements ItemListener {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false)
+ return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for (int x = 0, y = table.getRowCount(); x < y; x++) {
+ table.setValueAt(new Boolean(checked), x, 1);
+ }
+ }
+ }
+
+ class MyItemListener2 implements ItemListener {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false)
+ return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for (int x = 0, y = table.getRowCount(); x < y; x++) {
+ table.setValueAt(new Boolean(checked), x, 2);
+ }
+ }
+ }
+
+ class MyItemListener3 implements ItemListener {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false)
+ return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for (int x = 0, y = table.getRowCount(); x < y; x++) {
+ table.setValueAt(new Boolean(checked), x, 3);
+ }
+ }
+ }
+
+ class MyItemListener4 implements ItemListener {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false)
+ return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for (int x = 0, y = table.getRowCount(); x < y; x++) {
+ table.setValueAt(new Boolean(checked), x, 4);
+ }
+ }
+ }
+
+ class MyItemListener5 implements ItemListener {
+ public void itemStateChanged(ItemEvent e) {
+ Object source = e.getSource();
+ if (source instanceof AbstractButton == false)
+ return;
+ boolean checked = e.getStateChange() == ItemEvent.SELECTED;
+ for (int x = 0, y = table.getRowCount(); x < y; x++) {
+ table.setValueAt(new Boolean(checked), x, 5);
+ }
+ }
+ }
+}
+
+class CheckBoxHeader extends JCheckBox implements TableCellRenderer,
+ MouseListener {
+ protected CheckBoxHeader rendererComponent;
+ protected int column;
+ protected boolean mousePressed = false;
+
+ public CheckBoxHeader(ItemListener itemListener, String text) {
+ rendererComponent = this;
+ rendererComponent.addItemListener(itemListener);
+ rendererComponent.setText(text);
+ }
+
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+ if (table != null) {
+ JTableHeader header = table.getTableHeader();
+ if (header != null) {
+ rendererComponent.setForeground(header.getForeground());
+ rendererComponent.setBackground(header.getBackground());
+ rendererComponent.setFont(header.getFont());
+ rendererComponent.setBorder(header.getBorder());
+ header.addMouseListener(rendererComponent);
+ }
+ }
+ setColumn(column);
+ // rendererComponent.setText("Check All");
+ // setBorder(UIManager.getBorder("TableHeader.cellBorder"));
+
+ return rendererComponent;
+ }
+
+ protected void setColumn(int column) {
+ this.column = column;
+ }
+
+ public int getColumn() {
+ return column;
+ }
+
+ protected void handleClickEvent(MouseEvent e) {
+ if (mousePressed) {
+ mousePressed = false;
+ JTableHeader header = (JTableHeader) (e.getSource());
+ JTable tableView = header.getTable();
+ TableColumnModel columnModel = tableView.getColumnModel();
+ int viewColumn = columnModel.getColumnIndexAtX(e.getX());
+ int column = tableView.convertColumnIndexToModel(viewColumn);
+
+ if (viewColumn == this.column && e.getClickCount() == 1
+ && column != -1) {
+ doClick();
+ }
+ }
+ }
+
+ public void mouseClicked(MouseEvent e) {
+ handleClickEvent(e);
+ ((JTableHeader) e.getSource()).repaint();
+ }
+
+ public void mousePressed(MouseEvent e) {
+ mousePressed = true;
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ }
+
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ public void mouseExited(MouseEvent e) {
+ }
+}