diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java | 516 |
1 files changed, 0 insertions, 516 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java deleted file mode 100644 index d612df55..00000000 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ /dev/null @@ -1,516 +0,0 @@ -package gui.lecture; - -import gui.helper.ColumnSelector; -import gui.intro.MainMenue_GUI; - -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.ItemListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JInternalFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JSeparator; -import javax.swing.JTable; -import javax.swing.JTextPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableCellRenderer; -import javax.swing.table.TableColumn; -import javax.swing.table.TableColumnModel; - -import models.RightsManagement; -import models.person; -import util.CheckIntegrity; -import util.GuiManager; -import util.ListAllOtherUsers_GUI; - -@SuppressWarnings("serial") -public class PermissionCreateLecture_GUI extends JInternalFrame { - - private final JPanel contentPanel = new JPanel(); - - private JTable tablePermittedUsers = null; - private static final String[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; - public static final String HELP_MESSAGE = "<html><div align=\"center\">" - + "Hier können Sie die Berechtigungen für Ihre Veranstaltung ändern.<br />" - + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />" - + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + "</div></html>"; - - private final DefaultTableModel model = new DefaultTableModel(titles, 0) { - - @Override - public boolean isCellEditable(int rowIndex, int mColIndex) { - if (mColIndex >= 1) { - return true; - } - return false; - } - - @Override - public Class<?> getColumnClass(int c) { - switch (c) { - case 0: - return String.class; - default: - return Boolean.class; - } - } - - }; - - // private JTable tablePermittedUsers; - - public PermissionCreateLecture_GUI() { - - setResizable(false); - setTitle("bwLehrpool Suite - Berechtigungen - " + person.verantwortlicher.getUserID()); - - setBounds(0, 0, 603, 722); - - 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("Veranstaltung - Berechtigungen"); - 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ünschten Berechtigungen für Ihre Veranstaltung"); - 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); - - // tablePermittedUsers = new JTable(); - tablePermittedUsers = new JTable(); - tablePermittedUsers.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - checkIntegrity(-1); - } - - @Override - public void mouseReleased(MouseEvent e) { - - tablePermittedUsers.clearSelection(); //just one row is selectable - tablePermittedUsers.setRowSelectionInterval(tablePermittedUsers.rowAtPoint(e.getPoint()), - tablePermittedUsers.rowAtPoint(e.getPoint())); - } - }); - - tablePermittedUsers.setModel(model); - tablePermittedUsers.setSelectionForeground(Color.WHITE); - tablePermittedUsers.getTableHeader().setReorderingAllowed(false); - // invisible attribute userID for identifying selected user - tablePermittedUsers.getColumnModel().getColumn(4).setWidth(0); - tablePermittedUsers.getColumnModel().getColumn(4).setMinWidth(0); - tablePermittedUsers.getColumnModel().getColumn(4).setMaxWidth(0); - - // if new session, get values for table from database - if (RightsManagement.rightsManagement.getPermittedUserList().size() > 0) { - List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); - Iterator<person> i = listt.iterator(); - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - person temp = i.next(); - - Object[] obj = { temp.getName() + ", " + temp.getVorname(), // Name - temp.isLecture_read(), // Read - temp.isLecture_write(), // Write - // temp.isImageLinkAllowed(), // Link - temp.isLecture_admin(), // Admin - temp.getUserID() // userID - }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - } - }// end set list of permitted users - - TableColumn tc1 = tablePermittedUsers.getColumnModel().getColumn(1); - tc1.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc1.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); - tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1), titles[1])); - - TableColumn tc2 = tablePermittedUsers.getColumnModel().getColumn(2); - tc2.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc2.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); - tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2), titles[2])); - - TableColumn tc3 = tablePermittedUsers.getColumnModel().getColumn(3); - tc3.setCellEditor(tablePermittedUsers.getDefaultEditor(Boolean.class)); - tc3.setCellRenderer(tablePermittedUsers.getDefaultRenderer(Boolean.class)); - tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2, 3), titles[3])); - - tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1), titles[1])); - tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2), titles[2])); - tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(tablePermittedUsers, 1, 2, 3), titles[3])); - - JLabel lblHauptmen = new JLabel("Hauptmenü"); - lblHauptmen.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - GuiManager.show(new MainMenue_GUI()); - } - }); - 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("Veranstaltung"); - lblVlimage.setForeground(Color.BLUE); - lblVlimage.setBounds(81, 11, 90, 14); - contentPanel.add(lblVlimage); - - JLabel label_2 = new JLabel(">"); - label_2.setBounds(181, 11, 13, 14); - contentPanel.add(label_2); - - JLabel lblNewLabel_1 = new JLabel("Neu"); - lblNewLabel_1.setBounds(194, 11, 155, 14); - contentPanel.add(lblNewLabel_1); - - JPanel panel = new JPanel(); - panel.setBounds(10, 35, 557, 148); - contentPanel.add(panel); - panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, - null)); - panel.setBackground(SystemColor.menu); - - JLabel label = new JLabel("Lesen"); - label.setBounds(28, 18, 90, 20); - panel.add(label); - - JLabel label_3 = new JLabel("Schreiben"); - label_3.setBounds(28, 38, 90, 20); - panel.add(label_3); - - JLabel label_5 = new JLabel("Admin"); - label_5.setBounds(28, 58, 90, 20); - panel.add(label_5); - - JLabel label_7 = new JLabel("Veranstaltung ist in bwLehrpool Suite und VMchooser sichtbar."); - label_7.setBounds(128, 18, 419, 20); - panel.add(label_7); - - JLabel lblimageDarfAngepasst = new JLabel( - "Veranstaltung darf angepasst und überschrieben, jedoch nicht gelöscht werden."); - lblimageDarfAngepasst.setBounds(128, 38, 419, 20); - panel.add(lblimageDarfAngepasst); - - JLabel lblvolleRechteRead = new JLabel( - "<HTML>Volle Rechte: Lesen, Schreiben, Löschen und Berechtigungen für andere Benutzer festlegen.</HTML>"); - lblvolleRechteRead.setBounds(128, 58, 419, 35); - panel.add(lblvolleRechteRead); - - JPanel panel_1 = new JPanel(); - panel_1.setLayout(null); - panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", TitledBorder.LEADING, - TitledBorder.TOP, null, null)); - panel_1.setBackground(SystemColor.menu); - panel_1.setBounds(10, 194, 311, 326); - contentPanel.add(panel_1); - - JScrollPane scrollPaneMyImage = new JScrollPane(); - scrollPaneMyImage.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPaneMyImage.setBounds(10, 28, 291, 251); - panel_1.add(scrollPaneMyImage); - - tablePermittedUsers.setBounds(0, 0, 555, 1); - // panel_1.add(tablePermittedUsers); - - scrollPaneMyImage.setViewportView(tablePermittedUsers); - - JButton btnAddUser = new JButton("Hinzufügen..."); - btnAddUser.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // show list of all other relevant users - GuiManager.openPopup(new ListAllOtherUsers_GUI(tablePermittedUsers, 4)); - // give access to the table model and inform that the - // userID is position 5 in the model - } - }); - btnAddUser.setBounds(10, 290, 113, 23); - panel_1.add(btnAddUser); - - JButton btnDeleteUser = new JButton("Löschen"); - btnDeleteUser.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - // delete selected users from table - int[] deletableRows = tablePermittedUsers.getSelectedRows(); - int pointerCorrection = 0; - // after deleting a row, the length of selected rows is reduced by 1. - // This pointer counts the already deleted rows and correct the offset of i - for (int i = 0; i < deletableRows.length; i++) { - model.removeRow(deletableRows[i - pointerCorrection]); - pointerCorrection++; - } - } - }); - btnDeleteUser.setBounds(133, 290, 113, 23); - panel_1.add(btnDeleteUser); - - JPanel panel_2 = new JPanel(); - panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", TitledBorder.LEADING, - TitledBorder.TOP, null, null)); - panel_2.setBackground(SystemColor.menu); - panel_2.setBounds(331, 194, 236, 326); - contentPanel.add(panel_2); - - JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane_1.setEnabled(false); - scrollPane_1.setBounds(16, 88, 210, 191); - panel_2.add(scrollPane_1); - - JRadioButton radioButton = new JRadioButton("Sichtbar für alle"); - radioButton.setSelected(true); - radioButton.setEnabled(false); - radioButton.setBounds(6, 32, 109, 23); - panel_2.add(radioButton); - - JRadioButton radioButton_1 = new JRadioButton("Individuell"); - radioButton_1.setEnabled(false); - radioButton_1.setBounds(6, 58, 109, 23); - panel_2.add(radioButton_1); - - JButton button_2 = new JButton("Hinzufügen"); - button_2.setEnabled(false); - button_2.setBounds(23, 290, 89, 23); - panel_2.add(button_2); - - JButton button_3 = new JButton("Löschen"); - button_3.setEnabled(false); - button_3.setBounds(122, 290, 89, 23); - panel_2.add(button_3); - { - 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ück"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - GuiManager.show(new CreateLectureAllgemein_GUI()); - } - }); - cancelButton.setActionCommand("OK"); - buttonPane.add(cancelButton); - // getRootPane().setDefaultButton(cancelButton); - } - { - JButton continueButton = new JButton("Weiter"); - continueButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - // before save, check integrity to avoid dblClick errors - // of rights - for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) { - checkIntegrity(i); // check integrity of each line - // again - //System.out.println("in auto-correct"); - } - - saveTableToList(); - GuiManager.show(new CreateLectureLink_GUI()); - } - }); - 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); - - }// end constructor - - private void checkIntegrity(int row) { - - int selectedRow; - - if (row == -1) { - selectedRow = tablePermittedUsers.getSelectedRow(); - } else { - selectedRow = row; - } - - boolean isRead, isWrite, isAdmin; - - // collect all row data - isRead = (boolean) tablePermittedUsers.getValueAt(selectedRow, 1); - isWrite = (boolean) tablePermittedUsers.getValueAt(selectedRow, 2); - isAdmin = (boolean) tablePermittedUsers.getValueAt(selectedRow, 3); - - boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite, isAdmin); - - tablePermittedUsers.setValueAt(checkedVals[0], selectedRow, 1); - tablePermittedUsers.setValueAt(checkedVals[1], selectedRow, 2); - tablePermittedUsers.setValueAt(checkedVals[2], selectedRow, 3); - }// end checkIntegrity() - - // Column 0 == Concat user name - - // save the entered rights into the model and prepare them to be written to - // the database - private void saveTableToList() { - //System.out.println("Saving Table to List"); - - List<person> list = new ArrayList<person>(); - - int seperatorIndex = 0; - - // get values from table and save the checkbox values - - for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) { - person temp = new person(); - - seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString().indexOf(","); - - temp.setUserID(tablePermittedUsers.getModel().getValueAt(i, 4).toString()); // get - // userID - temp.setLecture_admin(Boolean.parseBoolean(tablePermittedUsers.getModel().getValueAt(i, 3) - .toString())); // get Admin - temp.setLecture_write(Boolean.parseBoolean(tablePermittedUsers.getModel().getValueAt(i, 2) - .toString()));// get Write - temp.setLecture_read(Boolean.parseBoolean(tablePermittedUsers.getModel().getValueAt(i, 1) - .toString()));// get Read - seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString().indexOf(","); - temp.setName(tablePermittedUsers.getModel().getValueAt(i, 0).toString() - .substring(0, seperatorIndex)); - temp.setVorname(tablePermittedUsers.getModel().getValueAt(i, 0).toString() - .substring(seperatorIndex + 2)); - - // check if at least one checkbox is checked. If yes, save this - // entry into list, if not ignore this entry - if (temp.isLecture_admin() || temp.isLecture_write() || temp.isLecture_read()) { - // save entry - list.add(temp); - } else { - // do nothing - } - } - - RightsManagement.rightsManagement.setPermittedUserList(list); - }// end saveTableToList() - -}// end class - -class CheckBoxHeader extends JCheckBox implements TableCellRenderer, MouseListener { - private static final long serialVersionUID = -132401386877928691L; - 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); - - 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) { - } -} |
