summaryrefslogtreecommitdiff
path: root/src/bjc/imgchain/ImgPicker.java
diff options
context:
space:
mode:
authorBenjamin Culkin <bjculkin@mix.wvu.edu>2018-04-26 06:35:16 -0700
committerBenjamin Culkin <bjculkin@mix.wvu.edu>2018-04-26 06:35:16 -0700
commit43886afd0f95b90c43863f8d939246850b59560a (patch)
tree74c242101cc26f95a31377271bcd998c233e3d71 /src/bjc/imgchain/ImgPicker.java
parenteab6df10ab8292a59a05b25d18c413dd107bb94a (diff)
More stages
Added a stage to load images from files, and one to execute sub-pipelines.
Diffstat (limited to 'src/bjc/imgchain/ImgPicker.java')
-rw-r--r--src/bjc/imgchain/ImgPicker.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/bjc/imgchain/ImgPicker.java b/src/bjc/imgchain/ImgPicker.java
new file mode 100644
index 0000000..bc93089
--- /dev/null
+++ b/src/bjc/imgchain/ImgPicker.java
@@ -0,0 +1,63 @@
+package bjc.imgchain;
+
+import java.awt.BorderLayout;
+import java.awt.GridLayout;
+
+import javax.swing.DefaultListModel;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import bjc.imgchain.ImgChain;
+
+public class ImgPicker extends JDialog {
+ private static final long serialVersionUID = 1L;
+
+ public String imageName;
+
+ public ImgPicker() {
+ super();
+
+ setModalityType(ModalityType.APPLICATION_MODAL);
+ setTitle("Recall an Image");
+
+ setupGUI();
+ }
+
+ private void setupGUI() {
+ setLayout(new BorderLayout());
+
+ DefaultListModel<String> imgModel = new DefaultListModel<>();
+ for (String imgName : ImgChain.chan.imageRepo.keySet()) {
+ imgModel.addElement(imgName);
+ }
+
+ JList<String> imgList = new JList<>(imgModel);
+ JScrollPane listScroll = new JScrollPane(imgList);
+
+ JPanel buttonPanel = new JPanel();
+ buttonPanel.setLayout(new GridLayout(2, 1));
+
+ JButton addStage = new JButton("Recall Image");
+ addStage.addActionListener((ev) -> {
+ imageName = imgList.getSelectedValue();
+
+ setVisible(false);
+ dispose();
+ });
+
+ JButton cancel = new JButton("Cancel");
+ cancel.addActionListener((ev) -> {
+ setVisible(false);
+ dispose();
+ });
+
+ buttonPanel.add(addStage);
+ buttonPanel.add(cancel);
+
+ add(listScroll, BorderLayout.CENTER);
+ add(buttonPanel, BorderLayout.PAGE_END);
+ }
+}