Prechádzať zdrojové kódy

Adds recalculations if objects are pasted/cut/undone etc.

Andreas T. Meyer-Berg 6 rokov pred
rodič
commit
f2e53bee96
1 zmenil súbory, kde vykonal 8 pridanie a 1 odobranie
  1. 8 1
      src/ui/view/GUI.java

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

@@ -401,6 +401,7 @@ public class GUI implements CategoryListener {
 			public void actionPerformed(ActionEvent e) {
 				try {
 					controller.loadAutoSave(controller.getUndoSave());
+					controller.calculateStateForCurrentTimeStep();
 					canvas.repaint();
 					unitGraph.update(model.getObjectsOnCanvas());
 					updateUpperNodes();
@@ -420,6 +421,7 @@ public class GUI implements CategoryListener {
 			public void actionPerformed(ActionEvent e) {
 				try {
 					controller.loadAutoSave(controller.getRedoSave());
+					controller.calculateStateForCurrentTimeStep();
 					canvas.repaint();
 					unitGraph.update(model.getObjectsOnCanvas());
 					updateUpperNodes();
@@ -632,10 +634,12 @@ public class GUI implements CategoryListener {
 										canvasOrUpperNodeCanvas
 												.getMousePosition());
 						unitGraph.update(model.getSelectedCpsObjects());
+						controller.calculateStateForCurrentTimeStep();
 						scrollPane.getViewport().getComponent(0).repaint();
 					} else {
 						controller.paste(null, canvas.getMousePosition());
 						unitGraph.update(model.getSelectedCpsObjects());
+						controller.calculateStateForCurrentTimeStep();
 						canvas.repaint();
 					}
 				} catch (HeadlessException | JsonParseException
@@ -664,13 +668,16 @@ public class GUI implements CategoryListener {
 					if (scrollPane.getViewport().getComponent(0) instanceof UpperNodeCanvas) {
 						controller.cut(((UpperNodeCanvas) scrollPane
 								.getViewport().getComponent(0)).upperNode);
+						controller.calculateStateForCurrentTimeStep();
+						scrollPane.getViewport().getComponent(0).repaint();
 					} else {
 						controller.cut(null);
+						controller.calculateStateForCurrentTimeStep();
+						canvas.repaint();
 					}
 					if (!model.getClipboradObjects().isEmpty()) {
 						canvas.itemPaste.setEnabled(true);
 					}
-					canvas.repaint();
 				}
 			}
 		};