summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorralph isenmann2021-02-17 16:50:20 +0100
committerralph isenmann2021-02-17 16:50:20 +0100
commit2a0f5ace8085fbd10fa2b208e46a99e2f7a8dd7f (patch)
treedcd8ee3ac91866684bb0b463b0ff25515acb133c
parent[client] Fix "download image" (diff)
downloadtutor-module-2a0f5ace8085fbd10fa2b208e46a99e2f7a8dd7f.tar.gz
tutor-module-2a0f5ace8085fbd10fa2b208e46a99e2f7a8dd7f.tar.xz
tutor-module-2a0f5ace8085fbd10fa2b208e46a99e2f7a8dd7f.zip
[client] Container Bind Mount: Change Input to DropDown
User can now only select a given Selection for bind mount source
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java12
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ContainerBindMountWindowLayout.java22
3 files changed, 32 insertions, 9 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
index 961bbc29..630ef571 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
@@ -38,12 +38,13 @@ public class ContainerBindMountConfigurator extends JPanel
grid.nextRow();
JPanel buttonPanel = new JPanel();
- GridManager gridButtonPanel = new GridManager(buttonPanel, 3);
buttonPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
- JButton btnAddBindMount = new JButton(I18n.CONFIGURATOR.getString("ContainerBindMount.Button.AddBindMount.text"));
- JButton btnDelBindMount = new JButton(I18n.CONFIGURATOR.getString("ContainerBindMount.Button.DeleteBindMount.text"));
+ JButton btnAddBindMount = new JButton(
+ I18n.CONFIGURATOR.getString("ContainerBindMount.Button.AddBindMount.text"));
+ JButton btnDelBindMount = new JButton(
+ I18n.CONFIGURATOR.getString("ContainerBindMount.Button.DeleteBindMount.text"));
// add glue box to move Buttons to the right border.
buttonPanel.add(Box.createGlue());
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
index 62f8514e..e261d99a 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
@@ -8,6 +8,8 @@ import org.openslx.dozmod.model.ContainerBindMount;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;
@@ -31,8 +33,8 @@ public class ContainerBindMountWindow extends ContainerBindMountWindowLayout {
dispose();
}
});
- this.txtBmSource.getDocument().addDocumentListener(new TextChangeListener() {
- @Override public void changed() {
+ this.cboSourceMountPoint.addItemListener(new ItemListener() {
+ @Override public void itemStateChanged(ItemEvent e) {
isInputComplete();
}
});
@@ -46,7 +48,8 @@ public class ContainerBindMountWindow extends ContainerBindMountWindowLayout {
private boolean isInputComplete() {
btnSave.setEnabled(false);
- if (txtBmSource == null || txtBmSource.getText().isEmpty()) {
+
+ if (cboSourceMountPoint == null || cboSourceMountPoint.getSelectedIndex() == 0) {
header.updateStatus("Source Path is Missing");
return false;
}
@@ -61,7 +64,8 @@ public class ContainerBindMountWindow extends ContainerBindMountWindowLayout {
private void saveEntry() {
ContainerBindMount bindMount = new ContainerBindMount();
- bindMount.setSource(this.txtBmSource.getText());
+ bindMount.setSource(
+ ContainerBindMountWindowLayout.SOURCE_MOUNT_POINTS[cboSourceMountPoint.getSelectedIndex()]);
bindMount.setTarget(this.txtBmTarget.getText());
bindMount.setOptions(this.txtBmOptions.getText());
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ContainerBindMountWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ContainerBindMountWindowLayout.java
index dcfe1dd4..54befd60 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ContainerBindMountWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ContainerBindMountWindowLayout.java
@@ -1,6 +1,7 @@
package org.openslx.dozmod.gui.window.layout;
import org.openslx.dozmod.gui.Gui;
+import org.openslx.dozmod.gui.control.ComboBox;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.helper.StatusHeader;
@@ -22,22 +23,39 @@ public class ContainerBindMountWindowLayout extends JDialog {
protected final JButton btnSave;
protected final JButton btnCancel;
+ protected static final String EMPTY_MARKER = "-";
+ protected static final String[] TAGS = { "USER_HOME", "USER_TMP" };
+ protected static String[] SOURCE_MOUNT_POINTS = { EMPTY_MARKER, TAGS[0], TAGS[1], "D", "E", "F", "G", "H",
+ "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
+
+ protected final ComboBox<String> cboSourceMountPoint = new ComboBox<>(
+ new ComboBox.ComboBoxRenderer<String>() {
+ @Override public String renderItem(String letter) {
+ if (letter == null)
+ return null;
+ return letter;
+ }
+ });
+
public ContainerBindMountWindowLayout(Window modalParent) {
super(modalParent, title, ModalityType.APPLICATION_MODAL);
setLayout(new BorderLayout());
- header = new StatusHeader(getContentPane() , "Source and Target Path Required");
+ header = new StatusHeader(getContentPane(), "Source and Target Path Required");
JPanel contentPanel = new JPanel();
add(contentPanel, BorderLayout.CENTER);
GridManager grid = new GridManager(contentPanel, 2, true, new Insets(2, 2, 2, 2));
lblBmSource = new QLabel("Source");
+
txtBmSource = new JTextField();
+ cboSourceMountPoint.setModel(new DefaultComboBoxModel<>(SOURCE_MOUNT_POINTS));
+ cboSourceMountPoint.setSelectedItem(SOURCE_MOUNT_POINTS[0]);
grid.add(lblBmSource);
- grid.add(txtBmSource).fill(true, false).expand(true, false);
+ grid.add(cboSourceMountPoint).fill(true, false).expand(true, false);
grid.nextRow();
lblBmTarget = new QLabel("Target");