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