Browse Source

Fixes AddElementPopUp

TomTroppmann 3 years ago
parent
commit
a686fb9770

+ 4 - 25
src/ui/view/AddElementPopUp.java

@@ -26,7 +26,7 @@ public class AddElementPopUp extends JDialog {
 	private static final long serialVersionUID = 1L;
 	/* Data */
 	/** Holon Object the Element should be added to */
-	private AbstractCanvasObject tempCps;
+	private HolonObject tempCps;
 	/** Holon Element that should be edited (if in edit Modus */
 	private HolonElement hl;
 	
@@ -41,10 +41,6 @@ public class AddElementPopUp extends JDialog {
 	JCheckBox checkBoxActive;
 	/** Textfield to enter the amount of this Element */
 	private JTextField amount;
-	/** Textfield to enter the flexible Energy of the Element */
-	private JTextField flexibleEnergy;
-	/** Flexible if checkbox is checked */
-	JCheckBox checkboxFlexible;
 
 	/**
 	 * Create the AddElementPopup Dialog
@@ -103,21 +99,6 @@ public class AddElementPopUp extends JDialog {
 		checkBoxActive.setBounds(250, 50, 115, 20);
 		contentPanel.add(checkBoxActive);
 		
-		/* Add Flexible Energy Textfield and CheckBox */
-		JLabel lblFlexibleEnergy = new JLabel("Flexible Energy:");
-		lblFlexibleEnergy.setBounds(10, 90, 100, 20);
-		contentPanel.add(lblFlexibleEnergy);
-		
-		flexibleEnergy = new JTextField();
-		flexibleEnergy.setText("0");
-		flexibleEnergy.setColumns(10);
-		flexibleEnergy.setBounds(130, 90, 110, 20);
-		contentPanel.add(flexibleEnergy);
-		
-		checkboxFlexible = new JCheckBox("Flexible");
-		checkboxFlexible.setBounds(250, 90, 115, 20);
-		contentPanel.add(checkboxFlexible);
-		
 		/* Add Amount Textfield and Checkbox */
 		JLabel lblAmount = new JLabel("Amount:");
 		lblAmount.setBounds(10, 130, 100, 14);
@@ -152,7 +133,7 @@ public class AddElementPopUp extends JDialog {
 	 * @param cps
 	 *            actual Cps
 	 */
-	void setActualCps(AbstractCanvasObject cps) {
+	void setActualHolonObject(HolonObject cps) {
 		this.tempCps = cps;
 	}
 
@@ -183,7 +164,7 @@ public class AddElementPopUp extends JDialog {
 	 */
 	private void okAction() {
 		boolean repeated = false;
-		for (HolonElement e : ((HolonObject) tempCps).getElements()) {
+		for (HolonElement e :  tempCps.getElements()) {
 			if (elementName.getText().equals(e.getEleName())&&(hl == null || hl.getId()!=e.getId())) {
 				repeated = true;
 				break;
@@ -194,9 +175,7 @@ public class AddElementPopUp extends JDialog {
 				float energy = Float.parseFloat(providedEnergy.getText());
 				int elementAmount = Integer.parseInt(amount.getText());
 				if(hl == null){
-					//hl = new HolonElement(elementName.getText(), elementAmount, energy);
-					//should not happen
-					System.err.println("Undefined Element in 'AddElementPopUp'-class.");
+					hl = new HolonElement(this.tempCps, elementName.getText(), elementAmount, energy);
 				} else {
 					hl.setEleName(elementName.getText());
 					hl.setAmount(elementAmount);

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

@@ -167,7 +167,7 @@ public class AddObjectPopUp extends JDialog {
 			JButton btnAddDefaultElement = new JButton("Add Element");
 			btnAddDefaultElement.addActionListener(actionEvent -> {
                 addElement = new AddElementPopUp(parentFrame);
-                addElement.setActualCps(toEdit);
+                addElement.setActualHolonObject((HolonObject)toEdit);
 				addElement.setVisible(true);
 				HolonElement hl = addElement.getElement();
 				hl.setSaving(new Pair<>(givenCategory, objectName.getText()));

+ 2 - 2
src/ui/view/CreateTemplatePopUp.java

@@ -317,7 +317,7 @@ public class CreateTemplatePopUp extends JDialog {
 	 */
 	private void addElement() {
 		AddElementPopUp popUp = new AddElementPopUp(parent);
-		popUp.setActualCps(template);
+		popUp.setActualHolonObject(template);
 		popUp.setVisible(true);
 		HolonElement he = popUp.getElement();
 		if (he != null) {
@@ -348,7 +348,7 @@ public class CreateTemplatePopUp extends JDialog {
 			return;
 		
 		AddElementPopUp popUp = new AddElementPopUp(parent);
-		popUp.setActualCps(template);
+		popUp.setActualHolonObject(template);
 		popUp.setElement(template.getElements().get(index));
 		popUp.setVisible(true);
 		HolonElement he = popUp.getElement();

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

@@ -1049,7 +1049,7 @@ public class GUI{
 						&& tempCpsObject.getClass() == HolonObject.class
 						&& tempCpsObject.getId() != 0) {
 					addElementPopUp = new AddElementPopUp(holegJFrame);
-					addElementPopUp.setActualCps(updCon.getActualCps());
+					addElementPopUp.setActualHolonObject((HolonObject)updCon.getActualCps());
 					addElementPopUp.setVisible(true);
 					HolonElement ele = addElementPopUp.getElement();
 					if (ele != null) {
@@ -2060,6 +2060,7 @@ public class GUI{
 			canvas.repaint();
 			IdCounter.resetObjectCounter(CounterType.Object);
 			IdCounter.resetObjectCounter(CounterType.Element);
+			controller.calculateStateAndVisualForCurrentTimeStep();
 		});
 
 		mntmOpen.addActionListener(new ActionListener() {