diff options
| author | Michael Wilson | 2014-10-27 18:13:20 +0100 |
|---|---|---|
| committer | Michael Wilson | 2014-10-27 18:13:20 +0100 |
| commit | 0ed4549c028e2523534a09fd6e41c49c9d178ec1 (patch) | |
| tree | b7a829b485b644eadb4801faad15be8a81c723b1 /dozentenmodul/src/main/java/gui/image | |
| parent | Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff) | |
| download | tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.gz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.tar.xz tutor-module-0ed4549c028e2523534a09fd6e41c49c9d178ec1.zip | |
Sämtliche Logik und Grafiken zur Vergabe und Verwaltung von Berechtigungen eingeführt. Kleinere Bugs sind bekannt, werden aktuell behoben
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java | 74 | ||||
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java | 90 |
2 files changed, 104 insertions, 60 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index 09cf5dd8..239b5a0f 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,6 +1,7 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -77,6 +78,8 @@ public class PermissionCreateImage_GUI extends JFrame { private List<Person> map = null; // List of people who have rights Component c = null; // Map<String,String> ogUsers = new HashMap(); + + List<String> user = new ArrayList<String>(); final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -112,6 +115,8 @@ public class PermissionCreateImage_GUI extends JFrame { + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." + "</div></html>"; + private JButton btnAddUser; + private JButton btnDeleteUser; public PermissionCreateImage_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() { @@ -165,16 +170,16 @@ public class PermissionCreateImage_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Berechtigungen", + panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 170, 557, 354); + panel_1.setBounds(10, 170, 557, 361); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 228); + scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); table = new JTable(); @@ -193,13 +198,20 @@ public class PermissionCreateImage_GUI extends JFrame { table.getColumnModel().getColumn(5).setWidth(0); table.getColumnModel().getColumn(5).setMinWidth(0); table.getColumnModel().getColumn(5).setMaxWidth(0); - - // if new session, get values for table from database + + + // if new session, get values for table from database -> initialiting users if (RightsManagement.rightsManagement.getPermittedUserList().size() <= 0) { System.out.println("Loading data from db"); - try { - map = client.getAllOtherSatelliteUsers(person.verantwortlicher - .getUserID()); + //do nothing + /*try { + + user.add(0, person.verantwortlicher.getUserID()); + if(user==null){ + System.out.println("user is null"); + } + //map = client.getAllOtherSatelliteUsers(person.verantwortlicher.getUserID()); + map = client.getAllOtherSatelliteUsers(user); Iterator<server.generated.Person> i = map.iterator(); int x = 0; @@ -224,7 +236,7 @@ public class PermissionCreateImage_GUI extends JFrame { } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); - } + }*/ } else // read from model { System.out.println("reading from model"); @@ -239,7 +251,6 @@ public class PermissionCreateImage_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -259,14 +270,16 @@ public class PermissionCreateImage_GUI extends JFrame { x++; } }// end set list of permitted users + - TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); + //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])); + // tc1.setCellRenderer(cellRenderer) TableColumn tc2 = table.getColumnModel().getColumn(2); @@ -286,7 +299,8 @@ public class PermissionCreateImage_GUI extends JFrame { tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(), (String) titles[4])); - + + scrollPane.setViewportView(table); JPanel panel = new JPanel(); @@ -309,6 +323,37 @@ public class PermissionCreateImage_GUI extends JFrame { comboBox_1.setSelectedIndex(0); comboBox_1.setBounds(270, 30, 250, 20); panel.add(comboBox_1); + + btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.setBounds(10, 217, 113, 23); + panel_1.add(btnAddUser); + + btnDeleteUser = new JButton("Löschen"); + btnDeleteUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + // delete selected users from table + int[] deletableRows= table.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 + LOGGER.info("deletabelRows.length="+deletableRows.length); + + for (int i=0; i<deletableRows.length; i++){ + + LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i-pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(134, 217, 113, 23); + panel_1.add(btnDeleteUser); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, 5); //give access to the table model and inform that the userID is position 5 in the model + lu.setVisible(true); + } + }); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -509,8 +554,8 @@ public class PermissionCreateImage_GUI extends JFrame { } }); menuBar.add(mnNewMenu_Info); - c = this; - + c = this; + this.setLocationRelativeTo(formerGUI); this.setVisible(true); }// end constructor @@ -673,7 +718,6 @@ public class PermissionCreateImage_GUI extends JFrame { RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() - } // end class class CheckBoxHeader extends JCheckBox implements TableCellRenderer, diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index 9ab70a5f..8de41289 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -1,6 +1,7 @@ package gui.image; import gui.intro.About_GUI; +import gui.intro.ListAllOtherUsers_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -25,7 +26,6 @@ import java.util.List; import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; -import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; @@ -37,7 +37,6 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; -import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ScrollPaneConstants; import javax.swing.UIManager; @@ -48,21 +47,24 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; -import org.apache.thrift.TException; - import models.Image; import models.Links; import models.RightsManagement; import models.person; + +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + import server.generated.Person; import server.generated.Server.Client; import util.CheckIntegrity; -import util.GuiOrganizer; import util.OpenLinks; @SuppressWarnings("serial") public class PermissionEditImage_GUI extends JFrame { - + + private final static Logger LOGGER = Logger + .getLogger(PermissionCreateImage_GUI.class); Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; @@ -156,7 +158,7 @@ public class PermissionEditImage_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Berechtigungen", + panel_1.setBorder(new TitledBorder(null, "Weitere Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 170, 557, 354); contentPanel.add(panel_1); @@ -165,7 +167,7 @@ public class PermissionEditImage_GUI extends JFrame { JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 228); + scrollPane.setBounds(10, 21, 537, 185); panel_1.add(scrollPane); table = new JTable(); @@ -314,6 +316,39 @@ public class PermissionEditImage_GUI extends JFrame { comboBox_1.setSelectedIndex(Image.image.getShareMode()); comboBox_1.setBounds(270, 30, 250, 20); panel_2.add(comboBox_1); + + JButton btnAddUser = new JButton("Hinzufügen..."); + btnAddUser.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //show list of all other relevant users + ListAllOtherUsers_GUI lu = new ListAllOtherUsers_GUI(c, table, 5); //give access to the table model and inform that the userID is position 5 in the model + lu.setVisible(true); + + } + }); + btnAddUser.setBounds(10, 217, 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= table.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 + LOGGER.info("deletabelRows.length="+deletableRows.length); + + for (int i=0; i<deletableRows.length; i++){ + + LOGGER.info("Deleting rowCount["+i+"], tableRow number "+deletableRows[i-pointerCorrection]); + model.removeRow(deletableRows[i-pointerCorrection]); + pointerCorrection++; + } + } + }); + btnDeleteUser.setBounds(133, 217, 113, 23); + panel_1.add(btnDeleteUser); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @@ -672,40 +707,5 @@ public class PermissionEditImage_GUI extends JFrame { } } } -} - -/* - * 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) { } } - */ +}// end class + |
