Kaynağa Gözat

Delete Edges by connecting again, and better highlighting

Kevin Trometer 8 yıl önce
ebeveyn
işleme
a8408feff9
2 değiştirilmiş dosya ile 8 ekleme ve 3 silme
  1. BIN
      bin/ui/view/MyCanvas.class
  2. 8 3
      src/ui/view/MyCanvas.java

BIN
bin/ui/view/MyCanvas.class


+ 8 - 3
src/ui/view/MyCanvas.java

@@ -108,7 +108,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		
 		for (CpsObject cps : model.getObjectsOnCanvas()) {
 			for (CpsObject con : cps.getConnectedTo()) {
-				if(con.getID() != model.getSelectedObjectID())
+				if(con.getID() != model.getSelectedObjectID() && cps.getID() != model.getSelectedObjectID())
 				g2.drawLine(cps.getPos().x+GlobalVariables.SCALE_DIVIDED2, cps.getPos().y+GlobalVariables.SCALE_DIVIDED2, con.getPos().x+GlobalVariables.SCALE_DIVIDED2, con.getPos().y+GlobalVariables.SCALE_DIVIDED2);
 			}
 		}
@@ -176,8 +176,13 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 				cx = cps.getPos().x;
 				cy = cps.getPos().y;
 				if (x - GlobalVariables.SCALE <= cx && y - GlobalVariables.SCALE <= cy && x >= cx && y >= cy) {
-					cps.AddConnection(tempCps);
-					tempCps.AddConnection(cps);
+					if (!cps.getConnectedTo().contains(tempCps)) {
+						cps.AddConnection(tempCps);
+						tempCps.AddConnection(cps);
+					} else {
+						cps.getConnectedTo().remove(tempCps);
+						tempCps.getConnectedTo().remove(cps);
+					}
 				}
 			}
 		}