Made LogicUI compatible with ReadEnd and ReadWriteEnd
[Mograsim.git] / LogicUI / src / era / mi / gui / examples / RSLatchGUIExample.java
index 1b6582c..c36ba3a 100644 (file)
@@ -1,12 +1,13 @@
 package era.mi.gui.examples;
 
-import era.mi.gui.LogicUI;
+import era.mi.gui.LogicUICanvas;
+import era.mi.gui.LogicUIStandalone;
 import era.mi.gui.components.GUIManualSwitch;
 import era.mi.gui.components.GUINotGate;
 import era.mi.gui.components.GUIOrGate;
 import era.mi.gui.wires.WireConnectionPoint;
 import era.mi.logic.Simulation;
-import era.mi.logic.wires.WireArray;
+import era.mi.logic.wires.Wire;
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
 
 public class RSLatchGUIExample
@@ -17,27 +18,27 @@ public class RSLatchGUIExample
 
        public static void main(String[] args)
        {
-               LogicUI ui = new LogicUI();
-               initComponents(ui);
+               LogicUIStandalone ui = new LogicUIStandalone();
+               addComponentsAndWires(ui.getLogicUICanvas());
                ui.run();
        }
 
-       private static void initComponents(LogicUI ui)
+       public static void addComponentsAndWires(LogicUICanvas ui)
        {
                Simulation.TIMELINE.reset();
-               WireArray r = new WireArray(1, WIRE_DELAY);
-               WireArray s = new WireArray(1, WIRE_DELAY);
-               WireArray t2 = new WireArray(1, WIRE_DELAY);
-               WireArray t1 = new WireArray(1, WIRE_DELAY);
-               WireArray q = new WireArray(1, WIRE_DELAY);
-               WireArray nq = new WireArray(1, WIRE_DELAY);
+               Wire r = new Wire(1, WIRE_DELAY);
+               Wire s = new Wire(1, WIRE_DELAY);
+               Wire t2 = new Wire(1, WIRE_DELAY);
+               Wire t1 = new Wire(1, WIRE_DELAY);
+               Wire q = new Wire(1, WIRE_DELAY);
+               Wire nq = new Wire(1, WIRE_DELAY);
 
-               GUIManualSwitch rIn = ui.addComponent(new GUIManualSwitch(r), 100, 100);
-               GUIManualSwitch sIn = ui.addComponent(new GUIManualSwitch(s), 100, 200);
-               GUIOrGate or1 = ui.addComponent(new GUIOrGate(OR_DELAY, t1, r, nq), 160, 102.5);
-               GUIOrGate or2 = ui.addComponent(new GUIOrGate(OR_DELAY, t2, q, s), 160, 192.5);
-               GUINotGate not1 = ui.addComponent(new GUINotGate(NOT_DELAY, t1, q), 200, 107.5);
-               GUINotGate not2 = ui.addComponent(new GUINotGate(NOT_DELAY, t2, nq), 200, 197.5);
+               GUIManualSwitch rIn = ui.addComponent(new GUIManualSwitch(r.createReadWriteEnd()), 100, 100);
+               GUIManualSwitch sIn = ui.addComponent(new GUIManualSwitch(s.createReadWriteEnd()), 100, 200);
+               GUIOrGate or1 = ui.addComponent(new GUIOrGate(OR_DELAY, t1.createReadWriteEnd(), r.createReadOnlyEnd(), nq.createReadOnlyEnd()), 160, 102.5);
+               GUIOrGate or2 = ui.addComponent(new GUIOrGate(OR_DELAY, t2.createReadWriteEnd(), q.createReadOnlyEnd(), s.createReadOnlyEnd()), 160, 192.5);
+               GUINotGate not1 = ui.addComponent(new GUINotGate(NOT_DELAY, t1.createReadOnlyEnd(), q.createReadWriteEnd()), 200, 107.5);
+               GUINotGate not2 = ui.addComponent(new GUINotGate(NOT_DELAY, t2.createReadOnlyEnd(), nq.createReadWriteEnd()), 200, 197.5);
 
                WireConnectionPoint p1 = ui.addComponent(new WireConnectionPoint(q, 3), 250, 112.5);
                WireConnectionPoint p2 = ui.addComponent(new WireConnectionPoint(nq, 3), 250, 202.5);