|
@@ -0,0 +1,163 @@
|
|
|
+package ui.view;
|
|
|
+
|
|
|
+import classes.AbstractCpsObject;
|
|
|
+import classes.Category;
|
|
|
+import classes.HolonElement;
|
|
|
+import classes.HolonObject;
|
|
|
+import classes.Pair;
|
|
|
+import ui.controller.Control;
|
|
|
+import ui.model.Model;
|
|
|
+
|
|
|
+import javax.swing.*;
|
|
|
+import javax.swing.border.EmptyBorder;
|
|
|
+import javax.swing.filechooser.FileNameExtensionFilter;
|
|
|
+
|
|
|
+import java.awt.*;
|
|
|
+import java.awt.event.KeyEvent;
|
|
|
+import java.awt.event.KeyListener;
|
|
|
+import java.awt.event.MouseAdapter;
|
|
|
+import java.awt.event.MouseEvent;
|
|
|
+import java.io.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.awt.event.ActionListener;
|
|
|
+import java.awt.event.ActionEvent;
|
|
|
+
|
|
|
+/**
|
|
|
+ * PopUp for creating Holon Object Template.
|
|
|
+ *
|
|
|
+ * @author Gruppe 07 (A.T.M-B)
|
|
|
+ */
|
|
|
+public class CreateTemplatePopUp extends JDialog {
|
|
|
+
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Original Object to be templated
|
|
|
+ */
|
|
|
+ private AbstractCpsObject originalObject;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Category the Template should be inserted into
|
|
|
+ */
|
|
|
+ private String givenCategory;
|
|
|
+
|
|
|
+ private Control controller;
|
|
|
+ private JTextField textField_name;
|
|
|
+ private JTextField textField_imagePath;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Create the dialog.
|
|
|
+ *
|
|
|
+ * @param edit
|
|
|
+ * true if edit
|
|
|
+ * @param obj
|
|
|
+ * the object
|
|
|
+ * @param model
|
|
|
+ * @param cat
|
|
|
+ * the categorie
|
|
|
+ */
|
|
|
+ public CreateTemplatePopUp(AbstractCpsObject obj, Model model,
|
|
|
+ JFrame parentFrame) {
|
|
|
+ /*
|
|
|
+ * use Category Controller an stuff lul
|
|
|
+ */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * initialize Data
|
|
|
+ */
|
|
|
+ originalObject = obj;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * create Frame and GUI
|
|
|
+ */
|
|
|
+ setIconImage(Util.loadImage(this, "/Images/Dummy_House.png", 30, 30));
|
|
|
+ setBounds(100, 100, 476, 344);
|
|
|
+ setLocationRelativeTo(parentFrame);
|
|
|
+ getContentPane().setLayout(new BorderLayout());
|
|
|
+
|
|
|
+ JPanel contentPanel = new JPanel();
|
|
|
+ contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
|
+ getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
|
+
|
|
|
+ contentPanel.setLayout(null);
|
|
|
+
|
|
|
+ Choice choice = new Choice();
|
|
|
+ choice.setBounds(86, 13, 172, 36);
|
|
|
+ contentPanel.add(choice);
|
|
|
+ //add categories
|
|
|
+ for(Category c: model.getCategories())
|
|
|
+ choice.add(c.getName());
|
|
|
+
|
|
|
+ JLabel lblCategory = new JLabel("Category:");
|
|
|
+ lblCategory.setBounds(12, 13, 68, 22);
|
|
|
+ contentPanel.add(lblCategory);
|
|
|
+
|
|
|
+ JButton btnCancel = new JButton("Cancel");
|
|
|
+ btnCancel.setBounds(349, 257, 97, 25);
|
|
|
+ contentPanel.add(btnCancel);
|
|
|
+ btnCancel.addActionListener(e -> dispose());
|
|
|
+
|
|
|
+ JButton btnAddTemplate = new JButton("Add Template");
|
|
|
+ btnAddTemplate.setBounds(235, 257, 113, 25);
|
|
|
+ contentPanel.add(btnAddTemplate);
|
|
|
+
|
|
|
+ JLabel lblName = new JLabel("Name:");
|
|
|
+ lblName.setBounds(12, 48, 56, 16);
|
|
|
+ contentPanel.add(lblName);
|
|
|
+
|
|
|
+ textField_name = new JTextField();
|
|
|
+ textField_name.setBounds(86, 48, 172, 22);
|
|
|
+ contentPanel.add(textField_name);
|
|
|
+ textField_name.setColumns(10);
|
|
|
+ textField_name.setText(obj.getName());
|
|
|
+
|
|
|
+ JLabel lblImage = new JLabel("Image:");
|
|
|
+ lblImage.setBounds(12, 89, 56, 16);
|
|
|
+ contentPanel.add(lblImage);
|
|
|
+
|
|
|
+ textField_imagePath = new JTextField();
|
|
|
+ textField_imagePath.setBounds(86, 86, 172, 22);
|
|
|
+ contentPanel.add(textField_imagePath);
|
|
|
+ textField_imagePath.setColumns(10);
|
|
|
+ textField_imagePath.setText(obj.getImage());
|
|
|
+
|
|
|
+ JButton btnBrowseImage = new JButton("BrowseImage");
|
|
|
+ btnBrowseImage.setBounds(268, 85, 117, 25);
|
|
|
+ contentPanel.add(btnBrowseImage);
|
|
|
+
|
|
|
+ JList list = new JList(((HolonObject)obj).getElements().toArray());
|
|
|
+ list.setBounds(12, 118, 221, 166);
|
|
|
+ contentPanel.add(list);
|
|
|
+
|
|
|
+ JLabel lblNewLabel = new JLabel("New label");
|
|
|
+ lblNewLabel.setIcon(new ImageIcon(Util.loadImage(this, obj.getImage(),62,62)));
|
|
|
+ lblNewLabel.setBounds(298, 13, 62, 62);
|
|
|
+ contentPanel.add(lblNewLabel);
|
|
|
+
|
|
|
+ JButton btnDeleteElement = new JButton("Delete Element");
|
|
|
+ btnDeleteElement.setBounds(245, 199, 140, 25);
|
|
|
+ contentPanel.add(btnDeleteElement);
|
|
|
+
|
|
|
+ JButton btnEditElement = new JButton("Edit Element");
|
|
|
+ btnEditElement.setBounds(245, 161, 140, 25);
|
|
|
+ contentPanel.add(btnEditElement);
|
|
|
+
|
|
|
+ JButton btnAddElement = new JButton("Add Element");
|
|
|
+ btnAddElement.setBounds(245, 123, 140, 25);
|
|
|
+ contentPanel.add(btnAddElement);
|
|
|
+
|
|
|
+ setTitle("Create Template Menu");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Sets the Controller.
|
|
|
+ *
|
|
|
+ * @param controller
|
|
|
+ * the controller
|
|
|
+ */
|
|
|
+ public void setController(Control controller) {
|
|
|
+ this.controller = controller;
|
|
|
+ }
|
|
|
+}
|