import javax.swing.JPanel;\r
import javax.swing.WindowConstants;\r
\r
-import era.mi.logic.Simulation;\r
import era.mi.logic.components.ManualSwitch;\r
import era.mi.logic.components.gates.NotGate;\r
import era.mi.logic.components.gates.OrGate;\r
+import era.mi.logic.timeline.Timeline;\r
import era.mi.logic.timeline.Timeline.ExecutionResult;\r
import era.mi.logic.wires.Wire;\r
\r
private static final int OR_DELAY = 100;\r
private static final int NOT_DELAY = 100;\r
\r
- Wire r = new Wire(1, WIRE_DELAY);\r
- Wire s = new Wire(1, WIRE_DELAY);\r
- Wire t1 = new Wire(1, WIRE_DELAY);\r
- Wire t2 = new Wire(1, WIRE_DELAY);\r
- Wire q = new Wire(1, WIRE_DELAY);\r
- Wire nq = new Wire(1, WIRE_DELAY);\r
+ private Timeline t = new Timeline(11);\r
\r
- ManualSwitch rIn = new ManualSwitch(r.createReadWriteEnd());\r
- ManualSwitch sIn = new ManualSwitch(s.createReadWriteEnd());\r
+ Wire r = new Wire(t, 1, WIRE_DELAY);\r
+ Wire s = new Wire(t, 1, WIRE_DELAY);\r
+ Wire t1 = new Wire(t, 1, WIRE_DELAY);\r
+ Wire t2 = new Wire(t, 1, WIRE_DELAY);\r
+ Wire q = new Wire(t, 1, WIRE_DELAY);\r
+ Wire nq = new Wire(t, 1, WIRE_DELAY);\r
\r
- OrGate or1 = new OrGate(OR_DELAY, t2.createReadWriteEnd(), r.createReadOnlyEnd(), nq.createReadOnlyEnd());\r
- OrGate or2 = new OrGate(OR_DELAY, t1.createReadWriteEnd(), s.createReadOnlyEnd(), q.createReadOnlyEnd());\r
- NotGate not1 = new NotGate(NOT_DELAY, t2.createReadOnlyEnd(), q.createReadWriteEnd());\r
- NotGate not2 = new NotGate(NOT_DELAY, t1.createReadOnlyEnd(), nq.createReadWriteEnd());\r
+ ManualSwitch rIn = new ManualSwitch(t, r.createReadWriteEnd());\r
+ ManualSwitch sIn = new ManualSwitch(t, s.createReadWriteEnd());\r
+\r
+ OrGate or1 = new OrGate(t, OR_DELAY, t2.createReadWriteEnd(), r.createReadOnlyEnd(), nq.createReadOnlyEnd());\r
+ OrGate or2 = new OrGate(t, OR_DELAY, t1.createReadWriteEnd(), s.createReadOnlyEnd(), q.createReadOnlyEnd());\r
+ NotGate not1 = new NotGate(t, NOT_DELAY, t2.createReadOnlyEnd(), q.createReadWriteEnd());\r
+ NotGate not2 = new NotGate(t, NOT_DELAY, t1.createReadOnlyEnd(), nq.createReadWriteEnd());\r
\r
Map<ManualSwitch, Rectangle> switchMap = new HashMap<>();\r
\r
});\r
}\r
\r
+ public Timeline getTimeline()\r
+ {\r
+ return t;\r
+ };\r
+\r
@Override\r
public void paint(Graphics some_g)\r
{\r
\r
while (f.isVisible())\r
{\r
- ExecutionResult er = Simulation.TIMELINE.executeUpTo((lastFrame - begin) * 3, lastFrame + 14);\r
-// if (Simulation.TIMELINE.hasNext()) \r
-// Simulation.TIMELINE.executeNext();\r
+ ExecutionResult er = gt.getTimeline().executeUpTo((lastFrame - begin) * 3, lastFrame + 14);\r
+// if (t.hasNext()) \r
+// t.executeNext();\r
if (er != ExecutionResult.NOTHING_DONE)\r
gt.repaint(12);\r
try\r