Kevin Trometer 8 năm trước cách đây
mục cha
commit
b2756eac73
2 tập tin đã thay đổi với 22 bổ sung18 xóa
  1. 17 14
      src/ui/view/GUI.java
  2. 5 4
      src/ui/view/UpperNodeCanvas.java

+ 17 - 14
src/ui/view/GUI.java

@@ -1028,22 +1028,25 @@ public class GUI<E> implements CategoryListener {
 							int x = (int) unc.getMousePosition().getX();
 							int y = (int) unc.getMousePosition().getY();
 
-							AbstractCpsObject h = null;
-							if (tempCps instanceof HolonObject) {
-								h = new HolonObject(tempCps);
-							}
-							if (tempCps instanceof HolonSwitch) {
-								h = new HolonSwitch(tempCps);
-							}
-							if (tempCps instanceof HolonTransformer) {
-								h = new HolonTransformer(tempCps);
-							}
+							if (x > unc.borderPos) {
 
-							h.setPosition(x, y);
+								AbstractCpsObject h = null;
+								if (tempCps instanceof HolonObject) {
+									h = new HolonObject(tempCps);
+								}
+								if (tempCps instanceof HolonSwitch) {
+									h = new HolonSwitch(tempCps);
+								}
+								if (tempCps instanceof HolonTransformer) {
+									h = new HolonTransformer(tempCps);
+								}
 
-							controller.addObjUpperNode(h, unc.upperNode);
-							unc.invalidate();
-							unc.repaint();
+								h.setPosition(x, y);
+
+								controller.addObjUpperNode(h, unc.upperNode);
+								unc.invalidate();
+								unc.repaint();
+							}
 						} else {
 							int x = (int) canvas.getMousePosition().getX();
 							int y = (int) canvas.getMousePosition().getY();

+ 5 - 4
src/ui/view/UpperNodeCanvas.java

@@ -58,7 +58,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 	private int cx, cy;
 	private int sx, sy; // Mark Coords
 	private float scalediv20;
-	private int borderPos = 0; // Border Position
+	public int borderPos = 0; // Border Position
 
 	// Path
 	public String path;
@@ -314,9 +314,9 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 
 			// If TempCps is an outside Object
 			if (!upperNode.getNodes().contains(tempCps)) {
-				controller.addTextToConsole("success");
 				int count = 0;
 				for (CpsEdge e : upperNode.getConnections()) {
+					AbstractCpsObject cps;
 					if (e.getA().equals(tempCps)) {
 						g2.drawLine(borderPos >> 1, (int) (model.getScaleDiv2() + scalediv20 + 5
 								+ (model.getScale() + scalediv20 + 10) * count), x, y);
@@ -1063,12 +1063,13 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 			n.setPosition(x - model.getScaleDiv2(), y - model.getScaleDiv2());
 			controller.addObjUpperNode(n, upperNode);
 
+			e = new CpsEdge(n, tempCps, model.getMaxCapacity());
+
 			if (outsideCon) {
 				controller.connectNodes(e, upperNode);
 			} else {
-				e = new CpsEdge(n, tempCps, model.getMaxCapacity());
+				controller.addEdgeUpperNode(e, upperNode);
 			}
-			controller.addEdgeUpperNode(e, upperNode);
 		}
 
 		// Wenn ein Node ohne Connections da ist