Bläddra i källkod

allows templates of Holon Objects

Andreas T. Meyer-Berg 6 år sedan
förälder
incheckning
8718a6a6a2

+ 1 - 1
src/ui/controller/Control.java

@@ -918,7 +918,7 @@ public class Control {
      * @param cps Object, which should become a template
      * @param parentFrame 
      */
-    public void createTemplate(AbstractCpsObject cps, JFrame parentFrame) {
+    public void createTemplate(HolonObject cps, JFrame parentFrame) {
         CreateTemplatePopUp t =new CreateTemplatePopUp(cps,model,parentFrame);
         t.setController(this);
         t.setVisible(true);

+ 1 - 2
src/ui/view/AbstractCanvas.java

@@ -339,8 +339,7 @@ public abstract class AbstractCanvas extends JPanel {
                 if (model.getSelectedCpsObjects().size() == 0) {
                     controller.addSelectedObject(tempCps);
                 }
-                if(tempCps instanceof HolonObject
-               || tempCps instanceof HolonSwitch){
+                if(tempCps instanceof HolonObject){
                 	itemCreateTemplate.setEnabled(true);
                 }else{
                 	itemCreateTemplate.setEnabled(false);                	

+ 87 - 21
src/ui/view/CreateTemplatePopUp.java

@@ -34,13 +34,31 @@ public class CreateTemplatePopUp extends JDialog {
 	/**
 	 * Original Object to be templated
 	 */
-	private AbstractCpsObject originalObject;
+	private HolonObject originalObject;
 
 	/**
 	 * Category the Template should be inserted into
 	 */
 	private String givenCategory;
 	
+	//Template Attributes
+	
+	/**
+	 * name of the HolonObjectTemplate
+	 */
+	private String name;
+	
+	/**
+	 * path to the originalImage
+	 */
+	private String imagePath;
+	
+	/**
+	 * HolonElements of the template
+	 */
+	private ArrayList<HolonElement> elements;
+	
+	//PopUp Parts
 	private Control controller;
 	private JTextField textField_name;
 	private JTextField textField_imagePath;
@@ -57,7 +75,7 @@ public class CreateTemplatePopUp extends JDialog {
 	 * @param cat
 	 *            the categorie
 	 */
-	public CreateTemplatePopUp(AbstractCpsObject obj, Model model,
+	public CreateTemplatePopUp(HolonObject obj, Model model,
 			JFrame parentFrame) {
 		/*
 		 * use Category Controller an stuff lul
@@ -67,6 +85,7 @@ public class CreateTemplatePopUp extends JDialog {
 		 * initialize Data
 		 */
 		originalObject = obj;
+		name = obj.getName();
 		
 		/*
 		 * create Frame and GUI
@@ -76,12 +95,24 @@ public class CreateTemplatePopUp extends JDialog {
 		setLocationRelativeTo(parentFrame);
 		getContentPane().setLayout(new BorderLayout());
 		
+		/**
+		 * Content Panel
+		 */
 		JPanel contentPanel = new JPanel();
 		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
 		getContentPane().add(contentPanel, BorderLayout.CENTER);
-
 		contentPanel.setLayout(null);
 		
+		/**
+		 * Category Label
+		 */
+		JLabel lblCategory = new JLabel("Category:");
+		lblCategory.setBounds(12, 13, 68, 22);
+		contentPanel.add(lblCategory);
+		
+		/**
+		 * Category Choice
+		 */
 		Choice choice = new Choice();
 		choice.setBounds(86, 13, 172, 36);
 		contentPanel.add(choice);
@@ -89,64 +120,99 @@ public class CreateTemplatePopUp extends JDialog {
 		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);
-		
+		/**
+		 * Name Label
+		 */
 		JLabel lblName = new JLabel("Name:");
 		lblName.setBounds(12, 48, 56, 16);
 		contentPanel.add(lblName);
 		
+		/**
+		 * Name Textfield
+		 */
 		textField_name = new JTextField();
 		textField_name.setBounds(86, 48, 172, 22);
 		contentPanel.add(textField_name);
 		textField_name.setColumns(10);
 		textField_name.setText(obj.getName());
 		
+		/**
+		 * Image Path Lable
+		 */
 		JLabel lblImage = new JLabel("Image:");
 		lblImage.setBounds(12, 89, 56, 16);
 		contentPanel.add(lblImage);
 		
+		/**
+		 * Image Path Text Field
+		 */
 		textField_imagePath = new JTextField();
 		textField_imagePath.setBounds(86, 86, 172, 22);
 		contentPanel.add(textField_imagePath);
 		textField_imagePath.setColumns(10);
 		textField_imagePath.setText(obj.getImage());
 		
+		/**
+		 * Browse Image Button
+		 */
 		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");
+		/**
+		 * Image Preview
+		 */
+		JLabel lblNewLabel = new JLabel("Image Preview");
 		lblNewLabel.setIcon(new ImageIcon(Util.loadImage(this, obj.getImage(),62,62)));
 		lblNewLabel.setBounds(298, 13, 62, 62);
 		contentPanel.add(lblNewLabel);
 		
+		/**
+		 * Holon Element List
+		 */
+		JList list = new JList(((HolonObject)obj).getElements().toArray());
+		list.setBounds(12, 118, 221, 166);
+		contentPanel.add(list);
+		
+		/**
+		 * Delete Element Button
+		 */
 		JButton btnDeleteElement = new JButton("Delete Element");
 		btnDeleteElement.setBounds(245, 199, 140, 25);
 		contentPanel.add(btnDeleteElement);
 		
+		/**
+		 * Edit Element Button
+		 */
 		JButton btnEditElement = new JButton("Edit Element");
 		btnEditElement.setBounds(245, 161, 140, 25);
 		contentPanel.add(btnEditElement);
 		
+		/**
+		 * Add Element Button
+		 */
 		JButton btnAddElement = new JButton("Add Element");
 		btnAddElement.setBounds(245, 123, 140, 25);
 		contentPanel.add(btnAddElement);
 	
+		/**
+		 * Cancel Button
+		 */
+		JButton btnCancel = new JButton("Cancel");
+		btnCancel.setBounds(349, 257, 97, 25);
+		contentPanel.add(btnCancel);
+		btnCancel.addActionListener(e -> dispose());
+		
+		/**
+		 * Add Template Button
+		 */
+		JButton btnAddTemplate = new JButton("Add Template");
+		btnAddTemplate.setBounds(235, 257, 113, 25);
+		contentPanel.add(btnAddTemplate);
+		
+		/**
+		 * Title
+		 */
 		setTitle("Create Template Menu");
 
 	}

+ 1 - 1
src/ui/view/MyCanvas.java

@@ -359,7 +359,7 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
 		 * create Template
 		 */
 		itemCreateTemplate.addActionListener(actionEvent -> {
-			controller.createTemplate(tempCps,(JFrame)SwingUtilities.getRoot(this));
+			controller.createTemplate((HolonObject)tempCps,(JFrame)SwingUtilities.getRoot(this));
 		});
 
 		this.addMouseListener(this);

+ 1 - 1
src/ui/view/UpperNodeCanvas.java

@@ -322,7 +322,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
 		 * create Template
 		 */
 		itemCreateTemplate.addActionListener(actionEvent -> {
-			controller.createTemplate(tempCps, (JFrame)SwingUtilities.getRoot(this));
+			controller.createTemplate((HolonObject)tempCps, (JFrame)SwingUtilities.getRoot(this));
 		});
 
         this.addMouseListener(this);