Removed ConnectionPoint causing confusion
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Fri, 5 Jul 2019 14:03:47 +0000 (16:03 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Fri, 5 Jul 2019 14:03:47 +0000 (16:03 +0200)
net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/ConnectionPoint.java [deleted file]
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/GUIWire.java
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/Pin.java
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java
net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/ModellingTool.java

index 34c4cbe..0a06914 100644 (file)
@@ -2,6 +2,7 @@ package net.mograsim.logic.ui.am2900;
 
 import net.mograsim.logic.ui.SimpleLogicUIStandalone;
 import net.mograsim.logic.ui.model.ViewModelModifiable;
+import net.mograsim.logic.ui.model.components.GUIComponent;
 import net.mograsim.logic.ui.model.components.atomic.GUIAndGate;
 import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay;
 import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch;
@@ -10,7 +11,7 @@ import net.mograsim.logic.ui.model.components.atomic.TextComponent;
 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdff;
 import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901;
 import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent;
-import net.mograsim.logic.ui.model.wires.ConnectionPoint;
+import net.mograsim.logic.ui.model.wires.Pin;
 import net.mograsim.logic.ui.model.wires.WireCrossPoint;
 import net.mograsim.logic.ui.util.ModellingTool;
 
@@ -46,7 +47,7 @@ public class Am2901Testbench
                not2.moveTo(80, -20);
                not3.moveTo(110, -20);
                and.moveTo(135, -30);
-               ConnectionPoint last = and.getPin("Y");
+               Pin last = and.getPin("Y");
 
                for (int i = 0; i < comp.getInputPinNames().size(); i++)
                {
@@ -54,7 +55,7 @@ public class Am2901Testbench
                        double y = 10 * i;
 
                        WireCrossPoint wcp = new WireCrossPoint(model, 1);
-                       GUIdff d_ff = new GUIdff(model);
+                       GUIComponent d_ff = new GUIdff(model);
                        GUIManualSwitch sw = new GUIManualSwitch(model);
 
                        tool.connect(last, wcp);
diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/ConnectionPoint.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/ConnectionPoint.java
deleted file mode 100644 (file)
index a28bdd3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.mograsim.logic.ui.model.wires;\r
-\r
-public interface ConnectionPoint\r
-{\r
-       /**\r
-        * Retrieves the {@link Pin}, that is used by the {@link GUIWire} to connect to.\r
-        * \r
-        * @return the {@link Pin} for the wire to connect to.\r
-        * \r
-        * @author Christian Femers\r
-        */\r
-       Pin getPin();\r
-}\r
index 6f6147a..7b641ff 100644 (file)
@@ -74,7 +74,37 @@ public class GUIWire
         * 
         * @author Daniel Kirschten
         */
-       public GUIWire(ViewModelModifiable model, ConnectionPoint pin1, ConnectionPoint pin2)
+       public GUIWire(ViewModelModifiable model, WireCrossPoint pin1, WireCrossPoint pin2)
+       {
+               this(model, pin1, pin2, (Point[]) null);
+       }
+
+       /**
+        * Creates a new {@link GUIWire} with automatic interpolation.
+        * 
+        * @author Daniel Kirschten
+        */
+       public GUIWire(ViewModelModifiable model, WireCrossPoint pin1, Pin pin2)
+       {
+               this(model, pin1, pin2, (Point[]) null);
+       }
+
+       /**
+        * Creates a new {@link GUIWire} with automatic interpolation.
+        * 
+        * @author Daniel Kirschten
+        */
+       public GUIWire(ViewModelModifiable model, Pin pin1, WireCrossPoint pin2)
+       {
+               this(model, pin1, pin2, (Point[]) null);
+       }
+
+       /**
+        * Creates a new {@link GUIWire} with automatic interpolation.
+        * 
+        * @author Daniel Kirschten
+        */
+       public GUIWire(ViewModelModifiable model, Pin pin1, Pin pin2)
        {
                this(model, pin1, pin2, (Point[]) null);
        }
@@ -84,7 +114,7 @@ public class GUIWire
         * 
         * @author Daniel Kirschten
         */
-       public GUIWire(ViewModelModifiable model, ConnectionPoint pin1, ConnectionPoint pin2, Point... path)
+       public GUIWire(ViewModelModifiable model, WireCrossPoint pin1, WireCrossPoint pin2, Point... path)
        {
                this(model, pin1.getPin(), pin2.getPin(), path);
        }
@@ -94,7 +124,27 @@ public class GUIWire
         * 
         * @author Daniel Kirschten
         */
-       GUIWire(ViewModelModifiable model, Pin pin1, Pin pin2, Point... path)
+       public GUIWire(ViewModelModifiable model, WireCrossPoint pin1, Pin pin2, Point... path)
+       {
+               this(model, pin1.getPin(), pin2, path);
+       }
+
+       /**
+        * Creates a new {@link GUIWire} without automatic interpolation.
+        * 
+        * @author Daniel Kirschten
+        */
+       public GUIWire(ViewModelModifiable model, Pin pin1, WireCrossPoint pin2, Point... path)
+       {
+               this(model, pin1, pin2.getPin(), path);
+       }
+
+       /**
+        * Creates a new {@link GUIWire} without automatic interpolation.
+        * 
+        * @author Daniel Kirschten
+        */
+       public GUIWire(ViewModelModifiable model, Pin pin1, Pin pin2, Point... path)
        {
                logicObs = (i) -> callRedrawListeners();
                this.model = model;
index b761c0e..287a623 100644 (file)
@@ -15,7 +15,7 @@ import net.mograsim.logic.ui.model.components.GUIComponent;
  * 
  * @author Daniel Kirschten
  */
-public class Pin implements ConnectionPoint
+public class Pin
 {
        /**
         * The {@link GUIComponent} this pin belongs to
@@ -136,10 +136,4 @@ public class Pin implements ConnectionPoint
        {
                return "Pin [" + name + ", point=" + getPos() + "]";
        }
-
-       @Override
-       public Pin getPin()
-       {
-               return this;
-       }
 }
\ No newline at end of file
index 1a3f893..7a2fcf4 100644 (file)
@@ -23,7 +23,7 @@ import net.mograsim.preferences.ColorManager;
  * 
  * @author Daniel Kirschten
  */
-public class WireCrossPoint extends GUIComponent implements ConnectionPoint
+public class WireCrossPoint extends GUIComponent
 {
        private static final int CIRCLE_RADIUS = 1;
        private static final int CIRCLE_DIAM = CIRCLE_RADIUS * 2;
@@ -55,7 +55,6 @@ public class WireCrossPoint extends GUIComponent implements ConnectionPoint
 
        // pins
 
-       @Override
        public Pin getPin()
        {
                return pin;
index 8f21aa4..de61a8d 100644 (file)
@@ -2,8 +2,9 @@ package net.mograsim.logic.ui.util;
 \r
 import net.mograsim.logic.ui.model.ViewModelModifiable;\r
 import net.mograsim.logic.ui.model.components.GUIComponent;\r
-import net.mograsim.logic.ui.model.wires.ConnectionPoint;\r
 import net.mograsim.logic.ui.model.wires.GUIWire;\r
+import net.mograsim.logic.ui.model.wires.Pin;\r
+import net.mograsim.logic.ui.model.wires.WireCrossPoint;\r
 \r
 public class ModellingTool\r
 {\r
@@ -19,12 +20,42 @@ public class ModellingTool
                return connect(a.getPin(pinA), b.getPin(pinB));\r
        }\r
 \r
-       public GUIWire connect(ConnectionPoint a, GUIComponent b, String pinB)\r
+       public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB)\r
+       {\r
+               return connect(a.getPin(), b.getPin(pinB));\r
+       }\r
+\r
+       public GUIWire connect(Pin a, GUIComponent b, String pinB)\r
        {\r
                return connect(a, b.getPin(pinB));\r
        }\r
 \r
-       public GUIWire connect(ConnectionPoint a, ConnectionPoint b)\r
+       public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA)\r
+       {\r
+               return connect(a.getPin(pinA), b.getPin());\r
+       }\r
+\r
+       public GUIWire connect(WireCrossPoint a, WireCrossPoint b)\r
+       {\r
+               return connect(a.getPin(), b.getPin());\r
+       }\r
+\r
+       public GUIWire connect(Pin a, WireCrossPoint b)\r
+       {\r
+               return connect(a, b.getPin());\r
+       }\r
+\r
+       public GUIWire connect(GUIComponent a, Pin b, String pinA)\r
+       {\r
+               return connect(a.getPin(pinA), b);\r
+       }\r
+\r
+       public GUIWire connect(WireCrossPoint a, Pin b)\r
+       {\r
+               return connect(a.getPin(), b);\r
+       }\r
+\r
+       public GUIWire connect(Pin a, Pin b)\r
        {\r
                return new GUIWire(model, a, b);\r
        }\r