diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java | 86 |
1 files changed, 58 insertions, 28 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index a877cc59..f68b9926 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -1,8 +1,8 @@ package gui.image; import gui.intro.About_GUI; -import gui.intro.Login_GUI; import gui.intro.MainMenue_GUI; + import java.awt.Color; import java.awt.Component; import java.awt.FlowLayout; @@ -22,6 +22,7 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; + import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; @@ -49,26 +50,24 @@ import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; + 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.Person; import server.generated.Server.Client; -import util.GuiOrganizer; - +import util.CheckIntegrity; import util.OpenLinks; -import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeEvent; @SuppressWarnings("serial") public class PermissionCreateImage_GUI extends JFrame { - private final static Logger LOGGER = Logger.getLogger(Login_GUI.class); + private final static Logger LOGGER = Logger.getLogger(PermissionCreateImage_GUI.class); Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; @@ -108,8 +107,6 @@ public class PermissionCreateImage_GUI extends JFrame { private JLabel lblWriteDesc; private JLabel lblAdminDesc; private JLabel lblLinkallowedDesc; - private JCheckBox chckbxFrAlleSichtbar; - private JLabel lblFuerAlleSichtbar; private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.<br />" + "Sie können die Rechte read, write, link und admin vergeben.<br />" + @@ -144,10 +141,10 @@ public class PermissionCreateImage_GUI extends JFrame { //System.out.println("formergui X oben:"+formerGUI.getLocation().getX()); //System.out.println("formergui Y oben:"+formerGUI.getLocation().getY()); - System.out.println("this oben: "+this.getLocation().getX()); - System.out.println("this oben: "+this.getLocation().getY()); + //System.out.println("this oben: "+this.getLocation().getX()); + //System.out.println("this oben: "+this.getLocation().getY()); - System.out.println("------------------------------------------"); + //System.out.println("------------------------------------------"); getContentPane().setLayout(null); { @@ -182,27 +179,31 @@ public class PermissionCreateImage_GUI extends JFrame { 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); + panel_1.setBounds(10, 202, 557, 318); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBounds(10, 21, 537, 170); + scrollPane.setBounds(10, 21, 537, 195); panel_1.add(scrollPane); table = new JTable(); - table.addMouseListener(new MouseAdapter() { + table.addMouseListener(new MouseAdapter() + { @Override - public void mouseClicked(MouseEvent e) { - System.out.println("Mouse clicked"); + public void mouseClicked(MouseEvent e) + { + checkIntegrity(-1); } + }); table.setModel(model); table.setSelectionForeground(Color.WHITE); + // invisible attribute userID for identifying selected user table.getColumnModel().getColumn(5).setWidth(0); table.getColumnModel().getColumn(5).setMinWidth(0); @@ -315,7 +316,7 @@ public class PermissionCreateImage_GUI extends JFrame { panel.setBorder(new TitledBorder(null, "Freigabe", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); - panel.setBounds(10, 201, 537, 80); + panel.setBounds(10, 227, 537, 80); panel_1.add(panel); JLabel label = new JLabel("Freigabemodus:"); @@ -386,7 +387,7 @@ public class PermissionCreateImage_GUI extends JFrame { 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); + panel_2.setBounds(10, 67, 557, 124); contentPanel.add(panel_2); panel_2.setLayout(null); @@ -425,14 +426,6 @@ public class PermissionCreateImage_GUI extends JFrame { "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); @@ -458,6 +451,13 @@ public class PermissionCreateImage_GUI extends JFrame { 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 < table.getRowCount(); i++) + { + checkIntegrity(i); //check integrity of each line again + System.out.println("in auto-correct"); + } saveTableToList(); @@ -565,6 +565,36 @@ public class PermissionCreateImage_GUI extends JFrame { //System.out.println("this on screen unten X: "+this.getLocationOnScreen().getX()); //System.out.println("this on screen unten Y: "+this.getLocationOnScreen().getY()); } + + private void checkIntegrity(int row) + { + + int selectedRow; + + if(row == -1) + { + selectedRow = table.getSelectedRow(); + } + else + { + selectedRow = row; + } + + boolean isRead, isWrite, isLink, isAdmin; + + //collect all row data + isRead = (boolean) table.getValueAt(selectedRow, 1); + isWrite = (boolean) table.getValueAt(selectedRow, 2); + isLink = (boolean) table.getValueAt(selectedRow, 3); + isAdmin = (boolean) table.getValueAt(selectedRow, 4); + + boolean[] checkedVals = CheckIntegrity.isIntegre(isRead, isWrite, isLink, isAdmin); + + table.setValueAt(checkedVals[0], selectedRow, 1); + table.setValueAt(checkedVals[1], selectedRow, 2); + table.setValueAt(checkedVals[2], selectedRow, 3); + table.setValueAt(checkedVals[3], selectedRow, 4); + } // Read column class MyItemListener1 implements ItemListener { |
