package floobits.dialogs; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class SetPermissionsForm { private JPanel contentContainer; private JCheckBox viewCheckbox; private JCheckBox requestPermCheckbox; private JCheckBox editCheckbox; private JCheckBox adminCheckbox; private JLabel setPermissionsLabel; public SetPermissionsForm() { viewCheckbox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (!viewCheckbox.isSelected()) { editCheckbox.setSelected(false); requestPermCheckbox.setSelected(false); adminCheckbox.setSelected(false); } } }); requestPermCheckbox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (requestPermCheckbox.isSelected()) { viewCheckbox.setSelected(true); } else { editCheckbox.setSelected(false); adminCheckbox.setSelected(false); } } }); editCheckbox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (editCheckbox.isSelected()) { viewCheckbox.setSelected(true); requestPermCheckbox.setSelected(true); } else { adminCheckbox.setSelected(false); } } }); adminCheckbox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (adminCheckbox.isSelected()) { viewCheckbox.setSelected(true); requestPermCheckbox.setSelected(true); editCheckbox.setSelected(true); } } }); } public JPanel getContentPanel() { return contentContainer; } public void setUsername(String username) { setPermissionsLabel.setText(String.format("Edit permissions for %s:", username)); } public void setPermissions(boolean view, boolean request, boolean edit, boolean admin) { viewCheckbox.setSelected(view); requestPermCheckbox.setSelected(request); editCheckbox.setSelected(edit); adminCheckbox.setSelected(admin); } public Boolean canAdmin() { return adminCheckbox.isSelected(); } public Boolean canEdit() { return editCheckbox.isSelected(); } public Boolean canView() { return viewCheckbox.isSelected(); } public Boolean canRequestPermissions() { return requestPermCheckbox.isSelected(); } }