summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java54
1 files changed, 50 insertions, 4 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
index c2d67ea9..1d5a9c2f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java
@@ -25,6 +25,7 @@ import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JDialog;
+import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
@@ -191,12 +192,12 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements
btnShowPresets.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- showPresetSelector();
+ showPresetSelectorPopup();
}
});
}
- private void showPresetSelector() {
+ private void showPresetSelectorPopup() {
if (predefinedRules == null) {
Gui.showMessageBox(I18n.CONFIGURATOR.getString("NetRules.Message.error.noPredefinedRules"),
MessageType.ERROR, null, null);
@@ -225,7 +226,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements
dialog.setMinimumSize(dd);
dialog.setPreferredSize(dd);
GridManager grid = new GridManager(pane, 3, true, new Insets(2, 2, 2, 2));
- grid.add(new WordWrapLabel(I18n.CONFIGURATOR.getString("NetRules.Label.predefinedRules.text")), 3);
+ grid.add(new JLabel(I18n.CONFIGURATOR.getString("NetRules.Label.predefinedRules.text")), 3);
grid.nextRow();
final Map<ButtonModel, Integer> mapper = new HashMap<>();
for (PresetNetRule ruleSet : predefinedRules) {
@@ -272,6 +273,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements
if (selectedRules.get() != null) {
// User clicked OK
lecture.presetNetworkExceptionIds = currentState.selectedPresets = selectedRules.get();
+ updatePredefinedDisplayList();
checkChange = true;
fireChangeEvent();
}
@@ -324,6 +326,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements
checkChange = true;
this.lecture = lecture;
this.tpNetworkRules.setText(decodeNetRulesToText(lecture.networkExceptions));
+ updatePredefinedDisplayList();
fireChangeEvent();
}
@@ -574,6 +577,39 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements
return null;
}
+ private void updatePredefinedDisplayList() {
+ pnlPredefinedActiveList.removeAll();
+ if (currentState.selectedPresets.isEmpty()) {
+ scpPredefinedActiveList.setVisible(false);
+ } else {
+ scpPredefinedActiveList.setVisible(true);
+ GridManager g = new GridManager(pnlPredefinedActiveList, 1, true, new Insets(2, 0, 2, 0));
+ g.add(new JLabel(
+ "-- " + I18n.CONFIGURATOR.getString("NetRules.Label.activePredefinedRules.text") + " --"))
+ .fill(true, true)
+ .expand(true, false);
+ g.nextRow();
+ for (PresetNetRule rule : predefinedRules) {
+ if (currentState.selectedPresets.contains(rule.ruleId)) {
+ g.add(new JLabel(rule.displayName)).fill(true, true).expand(true, false);
+ g.nextRow();
+ }
+ }
+ /*
+ for (int i = (int) (Math.random() * 25); i > 0; --i) {
+ g.add(new JLabel(Integer.toString(i))).fill(true, true).expand(true, false);
+ g.nextRow();
+ }
+ */
+ g.finish(false);
+ pnlPredefinedActiveList.revalidate();
+ scpPredefinedActiveList.setMinimumSize(
+ new Dimension(10,
+ Math.min(80, pnlPredefinedActiveList.getPreferredSize().height) + 3));
+ }
+ this.revalidate();
+ }
+
}
/**
@@ -586,11 +622,13 @@ class NetrulesConfiguratorLayout extends JPanel {
protected final JTextPane tpNetworkRules;
protected final JButton btnCheckRules;
protected final JButton btnShowPresets;
+ protected JPanel pnlPredefinedActiveList;
+ protected JScrollPane scpPredefinedActiveList;
public NetrulesConfiguratorLayout() {
GridManager grid = new GridManager(this, 2, true,
- new Insets(5, 5, 5, 5));
+ new Insets(3, 5, 3, 5));
// middle panel for network rules
this.setBorder(BorderFactory.createTitledBorder(I18n.CONFIGURATOR.getString("NetRules.TitledBorder.title")));
@@ -615,6 +653,14 @@ class NetrulesConfiguratorLayout extends JPanel {
.fill(true, true).expand(true, true);
grid.nextRow();
+ pnlPredefinedActiveList = new JPanel();
+ scpPredefinedActiveList = new JScrollPane(pnlPredefinedActiveList,
+ JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
+ JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+ grid.add(scpPredefinedActiveList, 2)
+ .fill(true, true).expand(true, false);
+ grid.nextRow();
+
btnShowPresets = new JButton(I18n.CONFIGURATOR.getString("NetRules.Button.showPresets.text"));
grid.add(btnShowPresets, 2).anchor(GridBagConstraints.LINE_END);
grid.nextRow();