1 package net.mograsim.logic.ui;
3 import java.util.function.Consumer;
5 import net.mograsim.logic.core.timeline.Timeline;
6 import net.mograsim.logic.ui.model.ViewModelModifiable;
7 import net.mograsim.logic.ui.modeladapter.LogicModelParameters;
8 import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter;
10 public class SimpleLogicUIStandalone
12 public static void executeVisualisation(Consumer<ViewModelModifiable> setupViewModel)
14 LogicModelParameters params = new LogicModelParameters();
15 params.gateProcessTime = 50;
16 params.wireTravelTime = 10;
17 executeVisualisation(setupViewModel, params);
20 public static void executeVisualisation(Consumer<ViewModelModifiable> setupViewModel, LogicModelParameters params)
23 ViewModelModifiable viewModel = new ViewModelModifiable();
24 setupViewModel.accept(viewModel);
26 // convert to logic model
27 Timeline timeline = ViewLogicModelAdapter.convert(viewModel, params);
29 // initialize UI and executer
30 LogicUIStandaloneGUI ui = new LogicUIStandaloneGUI(viewModel);
31 LogicExecuter exec = new LogicExecuter(timeline);
34 exec.startLiveExecution();
36 exec.stopLiveExecution();
39 private SimpleLogicUIStandalone()
41 throw new UnsupportedOperationException("No SimpleLogicUIStandalone instances");