Browse Source

Edges update: repair option was only working with 3 clicks, now just with one
Edges bug fixed (#39)

Edgardo Palza 7 years ago
parent
commit
4e3a281ee1
2 changed files with 27 additions and 23 deletions
  1. 16 19
      src/ui/view/EditEdgesPopUp.java
  2. 11 4
      src/ui/view/GUI.java

+ 16 - 19
src/ui/view/EditEdgesPopUp.java

@@ -193,37 +193,34 @@ public class EditEdgesPopUp extends JDialog {
 	 */
 	public void changeForExisting(float cap) {
 		/*
-		for(SubNet sn: controller.getSimManager().getSubNets()){
-			for(CpsEdge edge: sn.getEdges()){
-				edge.setCapacity(cap);
-			}
-		}
-		for(CpsEdge edge: controller.getSimManager().getBrokenEdges()){
-			edge.setCapacity(cap);
-		}
-		*/
+		 * for(SubNet sn: controller.getSimManager().getSubNets()){ for(CpsEdge
+		 * edge: sn.getEdges()){ edge.setCapacity(cap); } } for(CpsEdge edge:
+		 * controller.getSimManager().getBrokenEdges()){ edge.setCapacity(cap);
+		 * }
+		 */
 		for (CpsEdge edge : controller.getModel().getEdgesOnCanvas()) {
 			edge.setCapacity(cap);
+			edge.setState(true);
 		}
-		for(AbstractCpsObject abs: controller.getModel().getObjectsOnCanvas()){
-			if(abs instanceof CpsUpperNode){
-				changeInUpperNode((CpsUpperNode)abs, cap);
+		for (AbstractCpsObject abs : controller.getModel().getObjectsOnCanvas()) {
+			if (abs instanceof CpsUpperNode) {
+				changeInUpperNode((CpsUpperNode) abs, cap);
 			}
 		}
 		controller.calculateStateForCurrentTimeStep();
 		canvas.repaint();
 	}
-	
-	public void changeInUpperNode(CpsUpperNode uN, float cap){
-		for(CpsEdge e: uN.getNodeEdges()){
+
+	public void changeInUpperNode(CpsUpperNode uN, float cap) {
+		for (CpsEdge e : uN.getNodeEdges()) {
 			e.setCapacity(cap);
 		}
-		for(CpsEdge e: uN.getOldEdges()){
+		for (CpsEdge e : uN.getOldEdges()) {
 			e.setCapacity(cap);
 		}
-		for(AbstractCpsObject abs: uN.getNodes()){
-			if(abs instanceof CpsUpperNode){
-				changeInUpperNode((CpsUpperNode)abs, cap);
+		for (AbstractCpsObject abs : uN.getNodes()) {
+			if (abs instanceof CpsUpperNode) {
+				changeInUpperNode((CpsUpperNode) abs, cap);
 			}
 		}
 	}

+ 11 - 4
src/ui/view/GUI.java

@@ -255,6 +255,8 @@ public class GUI<E> implements CategoryListener {
 	// Coord for the Edit-Modus in the PropertieTable
 	private int yProThis;
 	private int xProThis;
+	private int yProThisOneClick;
+	private int xProThisOneClick;
 	private AbstractCpsObject temp = null;
 	private final JMenuItem mntmUndo = new JMenuItem("Undo");
 	private final JMenuItem mntmRedo = new JMenuItem("Redo");
@@ -1152,6 +1154,9 @@ public class GUI<E> implements CategoryListener {
 				if (e.getClickCount() == 2) {
 					yProThis = e.getY();
 					xProThis = e.getX();
+				} else {
+					yProThisOneClick = e.getY();
+					xProThisOneClick = e.getX();
 				}
 			}
 		});
@@ -1208,6 +1213,8 @@ public class GUI<E> implements CategoryListener {
 							updCon.getActualCps().setName(temp.toString());
 						}
 					} else {
+						selValueY = (int) Math.floor(yProThisOneClick / 16);
+						selValueX = (int) Math.floor(xProThisOneClick / (tableProperties.getWidth() / 2));
 						temp = model.getPropertyTable().getValueAt(selValueY, selValueX);
 						btemp = model.getPropertyTable().getValueAt(mousePos.y / tableProperties.getRowHeight(),
 								mousePos.x / (tableProperties.getWidth() / 2));
@@ -1308,8 +1315,8 @@ public class GUI<E> implements CategoryListener {
 							UpperNodeCanvas unc = ((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent())
 									.getViewport().getComponent(0));
 
-							int x = (int) unc.getMousePosition().getX()+16;
-							int y = (int) unc.getMousePosition().getY()+16;
+							int x = (int) unc.getMousePosition().getX() + 16;
+							int y = (int) unc.getMousePosition().getY() + 16;
 
 							if (x > unc.borderPos) {
 
@@ -1331,8 +1338,8 @@ public class GUI<E> implements CategoryListener {
 								unc.repaint();
 							}
 						} else {
-							int x = (int) canvas.getMousePosition().getX()+16;
-							int y = (int) canvas.getMousePosition().getY()+16;
+							int x = (int) canvas.getMousePosition().getX() + 16;
+							int y = (int) canvas.getMousePosition().getY() + 16;
 
 							AbstractCpsObject h = null;
 							if (tempCps instanceof HolonObject) {