Преглед на файлове

Improves CreateTemplate UI, working (without on the fly edit yet)

Andreas T. Meyer-Berg преди 6 години
родител
ревизия
f08ac72bc4
променени са 1 файла, в които са добавени 86 реда и са изтрити 73 реда
  1. 86 73
      src/ui/view/CreateTemplatePopUp.java

+ 86 - 73
src/ui/view/CreateTemplatePopUp.java

@@ -35,52 +35,52 @@ public class CreateTemplatePopUp extends JDialog {
 	 * Template HolonObject
 	 */
 	private HolonObject template;
-	
+
 	/**
 	 * HolonElementList
 	 */
 	DefaultListModel<String> listModel;
-	
+
 	/**
 	 * HolonElement List
 	 */
 	JList<String> list;
-	
+
 	/**
 	 * Category the Template should be inserted into
 	 */
 	private String category;
-	
-	//Template Attributes
-	
-	//PopUp Parts
+
+	// Template Attributes
+
+	// PopUp Parts
 	private Control controller;
-	
+
 	/**
 	 * Category Selection
 	 */
 	Choice choice;
-	
+
 	/**
 	 * name textfield
 	 */
 	private JTextField textField_name;
-	
+
 	/**
 	 * textField for path
 	 */
 	private JTextField textField_imagePath;
-	
+
 	/**
 	 * Image Preview
 	 */
 	JLabel lblImagePreview;
-	
+
 	/**
 	 * parent Frame
 	 */
 	JFrame parent;
-	
+
 	/**
 	 * Create the dialog.
 	 * 
@@ -94,6 +94,7 @@ public class CreateTemplatePopUp extends JDialog {
 	 */
 	public CreateTemplatePopUp(HolonObject obj, Model model,
 			JFrame parentFrame, Control controller) {
+		setResizable(false);
 		/*
 		 * use Category Controller an stuff lul
 		 */
@@ -111,7 +112,7 @@ public class CreateTemplatePopUp extends JDialog {
 		setBounds(100, 100, 476, 344);
 		setLocationRelativeTo(parentFrame);
 		getContentPane().setLayout(new BorderLayout());
-		
+
 		/**
 		 * Content Panel
 		 */
@@ -119,38 +120,39 @@ public class CreateTemplatePopUp extends JDialog {
 		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 = new Choice();
 		choice.setBounds(86, 13, 172, 22);
 		contentPanel.add(choice);
-		//add categories
-		if(model.getCategories().size()==0)//if no categorie exist: create new Template Category
+		// add categories
+		if (model.getCategories().size() == 0)// if no categorie exist: create
+												// new Template Category
 			try {
 				this.controller.addCategory("Template");
 			} catch (IOException e1) {
 				e1.printStackTrace();
 			}
-		//add Categories to the choice
-		for(Category c: model.getCategories())
+		// add Categories to the choice
+		for (Category c : model.getCategories())
 			choice.add(c.getName());
-		
+
 		/**
 		 * Name Label
 		 */
 		JLabel lblName = new JLabel("Name:");
 		lblName.setBounds(12, 48, 56, 16);
 		contentPanel.add(lblName);
-		
+
 		/**
 		 * Name Textfield
 		 */
@@ -159,14 +161,14 @@ public class CreateTemplatePopUp extends JDialog {
 		contentPanel.add(textField_name);
 		textField_name.setColumns(10);
 		textField_name.setText(template.getName());
-		
+
 		/**
 		 * Image Path Lable
 		 */
 		JLabel lblImage = new JLabel("Image:");
 		lblImage.setBounds(12, 89, 56, 16);
 		contentPanel.add(lblImage);
-		
+
 		/**
 		 * Image Path Text Field
 		 */
@@ -175,86 +177,87 @@ public class CreateTemplatePopUp extends JDialog {
 		contentPanel.add(textField_imagePath);
 		textField_imagePath.setColumns(10);
 		textField_imagePath.setText(template.getImage());
-		
+
 		/**
 		 * Browse Image Button
 		 */
 		JButton btnBrowseImage = new JButton("BrowseImage");
 		btnBrowseImage.setBounds(268, 85, 117, 25);
 		contentPanel.add(btnBrowseImage);
-		btnBrowseImage.addActionListener(actionevent->{
+		btnBrowseImage.addActionListener(actionevent -> {
 			fileChooser();
 		});
-		
+
 		/**
 		 * Image Preview
 		 */
 		lblImagePreview = new JLabel("Image Preview");
-		lblImagePreview.setIcon(new ImageIcon(Util.loadImage(this, template.getImage(),62,62)));
+		lblImagePreview.setIcon(new ImageIcon(Util.loadImage(this,
+				template.getImage(), 62, 62)));
 		lblImagePreview.setBounds(298, 13, 62, 62);
 		contentPanel.add(lblImagePreview);
-		
+
 		/**
 		 * Holon Element List
 		 */
 		listModel = new DefaultListModel<String>();
-		list = new JList<String>(listModel);
-		list.setBounds(12, 118, 221, 166);
 
 		/**
 		 * Add Elements to List
 		 */
-		for(HolonElement he:template.getElements())
-			listModel.addElement(he.getEleName()+": "+he.getOverallEnergy()+"U");
-		
+		for (HolonElement he : template.getElements())
+			listModel.addElement(he.getAmount() + " * " + he.getEleName()
+					+ ": " + he.getOverallEnergy() + "U");
+
 		/**
 		 * Add ScrollPane to List
 		 */
 		JScrollPane scrollPane = new JScrollPane();
-		scrollPane.setBounds(10, 114, 236, 150);
-		scrollPane.setViewportView(list);
+		scrollPane.setBounds(22, 118, 236, 150);
 		contentPanel.add(scrollPane);
-		
+		list = new JList<String>(listModel);
+		scrollPane.setViewportView(list);
+
 		/**
 		 * Delete Element Button
 		 */
 		JButton btnDeleteElement = new JButton("Delete Element");
-		btnDeleteElement.setBounds(268, 199, 140, 25);
+		btnDeleteElement.setBounds(268, 228, 140, 25);
 		contentPanel.add(btnDeleteElement);
-		btnDeleteElement.addActionListener(e->removeElement());
-		
+		btnDeleteElement.addActionListener(e -> removeElement());
+
 		/**
 		 * Edit Element Button
 		 */
 		JButton btnEditElement = new JButton("Edit Element");
-		btnEditElement.setBounds(268, 161, 140, 25);
+		btnEditElement.setBounds(268, 190, 140, 25);
 		contentPanel.add(btnEditElement);
-		btnEditElement.addActionListener(e->editElement());
-		
+		btnEditElement.addActionListener(e -> editElement());
+
 		/**
 		 * Add Element Button
 		 */
 		JButton btnAddElement = new JButton("Add Element");
-		btnAddElement.setBounds(268, 123, 140, 25);
+		btnAddElement.setBounds(268, 152, 140, 25);
 		contentPanel.add(btnAddElement);
-		btnAddElement.addActionListener(e->addElement());
-	
+		btnAddElement.addActionListener(e -> addElement());
+
 		/**
 		 * Cancel Button
 		 */
 		JButton btnCancel = new JButton("Cancel");
-		btnCancel.setBounds(372, 257, 74, 25);
+		btnCancel.setBounds(384, 277, 74, 25);
 		contentPanel.add(btnCancel);
 		btnCancel.addActionListener(e -> dispose());
-		
+
 		/**
 		 * Add Template Button
 		 */
 		JButton btnAddTemplate = new JButton("Add Template");
-		btnAddTemplate.setBounds(257, 257, 113, 25);
+		btnAddTemplate.setBounds(75, 271, 113, 25);
 		contentPanel.add(btnAddTemplate);
-		btnAddTemplate.addActionListener(e->createTemplate());
-		
+		btnAddTemplate.addActionListener(e -> createTemplate());
+
 		/**
 		 * Title
 		 */
@@ -267,70 +270,80 @@ public class CreateTemplatePopUp extends JDialog {
 	 */
 	private void fileChooser() {
 		JFileChooser fileChooser = new JFileChooser();
-		FileNameExtensionFilter filter = new FileNameExtensionFilter("png, jpg or jpeg", "png", "jpg", "jpeg");
+		FileNameExtensionFilter filter = new FileNameExtensionFilter(
+				"png, jpg or jpeg", "png", "jpg", "jpeg");
 		fileChooser.setFileFilter(filter);
 		int returnValue = fileChooser.showOpenDialog(null);
 		if (returnValue == JFileChooser.APPROVE_OPTION) {
 			File selectedFile = fileChooser.getSelectedFile();
 			String filePath = selectedFile.getAbsolutePath();
 			textField_imagePath.setText(filePath);
-			ImageIcon icon = new ImageIcon(Util.loadImage(this, filePath, 62, 62, Image.SCALE_SMOOTH));
+			ImageIcon icon = new ImageIcon(Util.loadImage(this, filePath, 62,
+					62, Image.SCALE_SMOOTH));
 			lblImagePreview.setIcon(icon);
 		} else {
 			System.out.println("Failed to Load");
 		}
 
 	}
-	
+
 	/**
 	 * create the template and add it to the category
 	 */
-	private void createTemplate(){
+	private void createTemplate() {
 		try {
 			template.setName(textField_name.getText());
 			template.setImage(textField_imagePath.getText());
-			template.getElements().forEach(ele -> ele.setSaving(new Pair<String, String>(choice.getSelectedItem(), template.getName())));
-			controller.addObject(controller.searchCategory(choice.getItem(choice.getSelectedIndex())), template.getName(), template.getElements(), template.getImage());
+			template.getElements().forEach(
+					ele -> ele.setSaving(new Pair<String, String>(choice
+							.getSelectedItem(), template.getName())));
+			controller.addObject(controller.searchCategory(choice
+					.getItem(choice.getSelectedIndex())), template.getName(),
+					template.getElements(), template.getImage());
 			this.dispose();
 		} catch (IOException e) {
-			System.out.println("Could not create Template: Category not found!");
+			System.out
+					.println("Could not create Template: Category not found!");
 			e.printStackTrace();
 		}
 	}
-	
 
 	/**
 	 * Add an Holon Element to the template
 	 */
-	private void addElement(){
+	private void addElement() {
 		AddElementPopUp popUp = new AddElementPopUp(parent);
 		popUp.setActualCps(template);
 		popUp.setVisible(true);
 		HolonElement he = popUp.getElement();
-		if(he!=null){
-			listModel.addElement(he.getEleName()+": "+he.getOverallEnergy()+"U");
+		if (he != null) {
+			listModel.addElement(he.getAmount() + " * " + he.getEleName()
+					+ ": " + he.getOverallEnergy() + "U");
 			template.addElement(he);
 			he.setSaving(new Pair<>(category, textField_name.getText()));
 		}
 	}
-	
+
 	/**
 	 * Removes the Selected Element from the template
 	 */
-	private void removeElement(){
-	int index = list.getSelectedIndex();
-	if(index == -1)return;
-	template.deleteElement(index);
-	listModel.remove(index);
+	private void removeElement() {
+		int index = list.getSelectedIndex();
+		if (index == -1)
+			return;
+		template.deleteElement(index);
+		listModel.remove(index);
 	}
-	
+
 	/**
 	 * Edits the selected HolonElement
 	 */
-	private void editElement(){
+	private void editElement() {
 		int index = list.getSelectedIndex();
-		if(index == -1)return;
-		System.out.println("Edit "+template.getElements().get(index).toString());
+		if (index == -1)
+			return;
+		System.out.println("Edit "
+				+ template.getElements().get(index).toString());
 	}
-	
+
 }