Renamed mograsim to net.mograsim
[Mograsim.git] / LogicUI / src / net / mograsim / logic / ui / SimpleLogicUIStandalone.java
diff --git a/LogicUI/src/net/mograsim/logic/ui/SimpleLogicUIStandalone.java b/LogicUI/src/net/mograsim/logic/ui/SimpleLogicUIStandalone.java
new file mode 100644 (file)
index 0000000..aa1dd57
--- /dev/null
@@ -0,0 +1,38 @@
+package net.mograsim.logic.ui;
+
+import java.util.function.Consumer;
+
+import net.mograsim.logic.core.timeline.Timeline;
+import net.mograsim.logic.ui.model.ViewModel;
+import net.mograsim.logic.ui.modeladapter.LogicModelParameters;
+import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter;
+
+public class SimpleLogicUIStandalone
+{
+       public static void executeVisualisation(Consumer<ViewModel> setupViewModel)
+       {
+               // setup view model
+               ViewModel viewModel = new ViewModel();
+               setupViewModel.accept(viewModel);
+
+               // convert to logic model
+               LogicModelParameters params = new LogicModelParameters();
+               params.gateProcessTime = 50;
+               params.wireTravelTime = 10;
+               Timeline timeline = ViewLogicModelAdapter.convert(viewModel, params);
+
+               // initialize UI and executer
+               LogicUIStandaloneGUI ui = new LogicUIStandaloneGUI(viewModel);
+               LogicExecuter exec = new LogicExecuter(timeline);
+
+               // run it
+               exec.startLiveExecution();
+               ui.run();
+               exec.stopLiveExecution();
+       }
+
+       private SimpleLogicUIStandalone()
+       {
+               throw new UnsupportedOperationException("No SimpleLogicUIStandalone instances");
+       }
+}
\ No newline at end of file