Timeline now passed via constructor
[Mograsim.git] / era.mi / src / era / mi / logic / components / BitDisplay.java
index 3da693b..d8691f3 100644 (file)
@@ -1,19 +1,21 @@
 package era.mi.logic.components;
 
-import java.util.Arrays;
 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.types.BitVector;
+import era.mi.logic.wires.Wire.ReadEnd;
+import era.mi.logic.wires.Wire.ReadWriteEnd;
 
 public class BitDisplay extends BasicComponent
 {
-       private final WireEnd in;
-       private Bit[] displayedValue;
+       private final ReadEnd in;
+       private BitVector displayedValue;
 
-       public BitDisplay(WireEnd in)
+       public BitDisplay(Timeline timeline, ReadEnd in)
        {
-               super(1);
+               super(timeline, 1);
                this.in = in;
                in.addObserver(this);
                compute();
@@ -25,24 +27,24 @@ public class BitDisplay extends BasicComponent
                displayedValue = in.getValues();
        }
 
-       public Bit[] getDisplayedValue()
+       public BitVector getDisplayedValue()
        {
                return displayedValue;
        }
 
        public boolean isDisplaying(Bit... values)
        {
-               return Arrays.equals(displayedValue, values);
+               return displayedValue.equals(BitVector.of(values));
        }
 
        @Override
-       public List<WireEnd> getAllInputs()
+       public List<ReadEnd> getAllInputs()
        {
                return List.of(in);
        }
 
        @Override
-       public List<WireEnd> getAllOutputs()
+       public List<ReadWriteEnd> getAllOutputs()
        {
                return List.of();
        }