浏览代码

Merge branch 'master' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons

dominik.rieder 8 年之前
父节点
当前提交
70995a1140
共有 3 个文件被更改,包括 10 次插入8 次删除
  1. 0 6
      src/ui/controller/Control.java
  2. 3 1
      src/ui/view/GUI.java
  3. 7 1
      src/ui/view/MyCanvas.java

+ 0 - 6
src/ui/controller/Control.java

@@ -500,9 +500,6 @@ public class Control {
 	public void calculateStateForCurrentTimeStep() {
 		simulationManager.reset();
 		simulationManager.calculateStateForTimeStep(model.getCurIteration());
-		if (model.getIsSimulation()) {
-			runAlgorithm(model, this);
-		}
 	}
 
 	/**
@@ -514,9 +511,6 @@ public class Control {
 	public void calculateStateForTimeStep(int x) {
 		simulationManager.reset();
 		simulationManager.calculateStateForTimeStep(x);
-		if (model.getIsSimulation()) {
-			runAlgorithm(model, this);
-		}
 	}
 
 	/**

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

@@ -1306,7 +1306,6 @@ public class GUI<E> implements CategoryListener {
 		canvas.addMouseListener(new MouseAdapter() {
 			@Override
 			public void mousePressed(MouseEvent e) {
-				selectedElements.clear();
 				holonEleNamesDisplayed = Languages.getLanguage()[25];
 				// If any empty space is clicked
 				if (temp == null || temp.getID() != model.getSelectedObjectID()) {
@@ -1615,6 +1614,9 @@ public class GUI<E> implements CategoryListener {
 			@Override
 			public void stateChanged(ChangeEvent e) {
 				int i = model.getCurIteration();
+				if (model.getIsSimulation()) {
+					controller.runAlgorithm(model, controller);
+				}
 				controller.calculateStateForTimeStep(i);
 				contentPane.updateUI();
 				unitGraph.repaint();

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

@@ -642,7 +642,13 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 				controller.addTextToConsole(", ID:", Color.BLACK, 12, false, false, false);
 				controller.addTextToConsole("" + cps.getID(), Color.RED, 12, true, false, true);
 				dragging = true;
-				controller.setSelectedObjectID(tempCps.getID());
+				if (e.isControlDown() && tempCps != null) {
+					if (model.getSelectedCpsObjects().contains(tempCps)) {
+						controller.deleteSelectedObject(tempCps);
+					} else {
+						controller.addSelectedObject(tempCps);
+					}
+				}
 				// If drawing an Edge (CTRL down)
 				if (tempCps.getClass() == HolonObject.class) {
 					HolonObject tempObj = ((HolonObject) tempCps);