X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fexamples%2FPlayground.java;h=cf9f1e07d2e2c642e39dbe01db8e552ae6febdc9;hb=6fc37993a726bfa7ec8e0725c85417ce80cbeb5d;hp=f55675989ebfd2daffb512250bcb2a14009b07f9;hpb=b9af3f05aac91c61c25545b91c414645afa58297;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/examples/Playground.java b/LogicUI/src/era/mi/gui/examples/Playground.java index f5567598..cf9f1e07 100644 --- a/LogicUI/src/era/mi/gui/examples/Playground.java +++ b/LogicUI/src/era/mi/gui/examples/Playground.java @@ -1,32 +1,41 @@ package era.mi.gui.examples; +import org.eclipse.swt.SWT; + import era.mi.gui.LogicUIStandalone; import era.mi.gui.model.ViewModel; import era.mi.gui.model.components.GUIAndGate; import era.mi.gui.model.components.GUINotGate; import era.mi.gui.model.wires.GUIWire; +import net.haspamelodica.swt.helper.swtobjectwrappers.Point; public class Playground { - private static final int WIRE_DELAY = 10; - private static final int OR_DELAY = 50; - private static final int NOT_DELAY = 50; - public static void main(String[] args) { ViewModel model = new ViewModel(); + GUIAndGate andGate = new GUIAndGate(model, 1); + andGate.moveTo(10, 10); + GUINotGate notGate = new GUINotGate(model, 1); + notGate.moveTo(10, 40); + + new GUIWire(model, andGate.getPins().get(0), notGate.getPins().get(1), new Point(20, 50)); + LogicUIStandalone ui = new LogicUIStandalone(model); - addComponentsAndWires(model); + + ui.getLogicUICanvas().addListener(SWT.KeyDown, e -> notGate.moveTo(150, 10)); ui.run(); } - public static void addComponentsAndWires(ViewModel model) + public static void addComponentsAndWires(LogicUIStandalone ui, ViewModel model) { - GUIAndGate andGate = new GUIAndGate(model); + GUIAndGate andGate = new GUIAndGate(model, 1); andGate.moveTo(10, 10); - GUINotGate notGate = new GUINotGate(model); + GUINotGate notGate = new GUINotGate(model, 1); notGate.moveTo(10, 40); - new GUIWire(model, andGate.getPins().get(0), notGate.getPins().get(1)); + new GUIWire(model, andGate.getPins().get(0), notGate.getPins().get(1), new Point(20, 50)); + + ui.getLogicUICanvas().addListener(SWT.KeyDown, e -> notGate.moveTo(150, 10)); } } \ No newline at end of file