Timeline now passed via constructor
[Mograsim.git] / LogicUI / src / era / mi / gui / components / GUIMux.java
index 64adc7d..7fc1fa9 100644 (file)
@@ -6,45 +6,47 @@ import java.util.Collections;
 import java.util.List;\r
 \r
 import era.mi.logic.components.Mux;\r
-import era.mi.logic.wires.WireArray;\r
+import era.mi.logic.timeline.Timeline;\r
+import era.mi.logic.wires.Wire.ReadEnd;\r
+import era.mi.logic.wires.Wire.ReadWriteEnd;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUIMux extends Mux implements BasicGUIComponent\r
 {\r
-       private final double                    height;\r
-       private final List<WireArray>   connectedWireArrays;\r
-       private final List<Point>               wireArrayConnectionPoints;\r
+       private final double height;\r
+       private final List<ReadEnd> connectedWireEnds;\r
+       private final List<Point> WireEndConnectionPoints;\r
 \r
-       public GUIMux(int processTime, WireArray out, WireArray select, WireArray... inputs)\r
+       public GUIMux(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd select, ReadEnd... inputs)\r
        {\r
-               super(processTime, out, select, inputs);\r
+               super(timeline, processTime, out, select, inputs);\r
 \r
                double height = inputs.length * 5;\r
-               if(height < 10)\r
+               if (height < 10)\r
                        height = 10;\r
                this.height = height;\r
 \r
-               List<WireArray> connectedWireArraysModifiable = new ArrayList<>();\r
-               List<Point> wireArrayConnectionPointsModifiable = new ArrayList<>();\r
+               List<ReadEnd> connectedWireEndsModifiable = new ArrayList<>();\r
+               List<Point> WireEndConnectionPointsModifiable = new ArrayList<>();\r
 \r
-               connectedWireArraysModifiable.add(out);\r
-               wireArrayConnectionPointsModifiable.add(new Point(20, 10 + height / 2));\r
+               connectedWireEndsModifiable.add(out);\r
+               WireEndConnectionPointsModifiable.add(new Point(20, 10 + height / 2));\r
 \r
-               connectedWireArraysModifiable.add(select);\r
-               wireArrayConnectionPointsModifiable.add(new Point(10, 5));\r
+               connectedWireEndsModifiable.add(select);\r
+               WireEndConnectionPointsModifiable.add(new Point(10, 5));\r
 \r
                {\r
-                       connectedWireArraysModifiable.addAll(Arrays.asList(inputs));\r
+                       connectedWireEndsModifiable.addAll(Arrays.asList(inputs));\r
                        double inputHeightIncrement = (height + 20) / inputs.length;\r
                        double inputHeight = inputHeightIncrement / 2;\r
-                       for(int i = 0; i < inputs.length; i ++, inputHeight += inputHeightIncrement)\r
-                               wireArrayConnectionPointsModifiable.add(new Point(0, inputHeight));\r
+                       for (int i = 0; i < inputs.length; i++, inputHeight += inputHeightIncrement)\r
+                               WireEndConnectionPointsModifiable.add(new Point(0, inputHeight));\r
                }\r
 \r
-               this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable);\r
-               this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
+               this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable);\r
+               this.WireEndConnectionPoints = Collections.unmodifiableList(WireEndConnectionPointsModifiable);\r
        }\r
 \r
        @Override\r
@@ -52,28 +54,28 @@ public class GUIMux extends Mux implements BasicGUIComponent
        {\r
                return new Rectangle(0, 0, 20, height + 20);\r
        }\r
+\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r
-               gc.drawPolygon(new double[] {\r
-                               0, 0,\r
-                               20, 10,\r
-                               20, height + 10,\r
-                               0, height + 20});\r
+               gc.drawPolygon(new double[] { 0, 0, 20, 10, 20, height + 10, 0, height + 20 });\r
        }\r
+\r
        @Override\r
-       public int getConnectedWireArraysCount()\r
+       public int getConnectedWireEndsCount()\r
        {\r
-               return connectedWireArrays.size();\r
+               return connectedWireEnds.size();\r
        }\r
+\r
        @Override\r
-       public WireArray getConnectedWireArray(int connectionIndex)\r
+       public ReadEnd getConnectedWireEnd(int connectionIndex)\r
        {\r
-               return connectedWireArrays.get(connectionIndex);\r
+               return connectedWireEnds.get(connectionIndex);\r
        }\r
+\r
        @Override\r
-       public Point getWireArrayConnectionPoint(int connectionI)\r
+       public Point getWireEndConnectionPoint(int connectionI)\r
        {\r
-               return wireArrayConnectionPoints.get(connectionI);\r
+               return WireEndConnectionPoints.get(connectionI);\r
        }\r
 }
\ No newline at end of file