Timeline now passed via constructor
[Mograsim.git] / era.mi / src / era / mi / logic / components / ManualSwitch.java
index c4b4ffa..450fa51 100644 (file)
@@ -2,8 +2,10 @@ package era.mi.logic.components;
 \r
 import java.util.List;\r
 \r
+import era.mi.logic.timeline.Timeline;\r
 import era.mi.logic.types.Bit;\r
-import era.mi.logic.wires.Wire.WireEnd;\r
+import era.mi.logic.wires.Wire.ReadEnd;\r
+import era.mi.logic.wires.Wire.ReadWriteEnd;\r
 \r
 /**\r
  * This class models a simple on/off (ONE/ZERO) switch for user interaction.\r
@@ -11,13 +13,14 @@ import era.mi.logic.wires.Wire.WireEnd;
  * @author Christian Femers\r
  *\r
  */\r
-public class ManualSwitch implements Component\r
+public class ManualSwitch extends Component\r
 {\r
-       private WireEnd output;\r
+       private ReadWriteEnd output;\r
        private boolean isOn;\r
 \r
-       public ManualSwitch(WireEnd output)\r
+       public ManualSwitch(Timeline timeline, ReadWriteEnd output)\r
        {\r
+               super(timeline);\r
                if (output.length() != 1)\r
                        throw new IllegalArgumentException("Switch output can be only a single wire");\r
                this.output = output;\r
@@ -57,13 +60,13 @@ public class ManualSwitch implements Component
        }\r
 \r
        @Override\r
-       public List<WireEnd> getAllInputs()\r
+       public List<ReadEnd> getAllInputs()\r
        {\r
                return List.of();\r
        }\r
 \r
        @Override\r
-       public List<WireEnd> getAllOutputs()\r
+       public List<ReadWriteEnd> getAllOutputs()\r
        {\r
                return List.of(output);\r
        }\r