From: Christian Femers Date: Tue, 3 Sep 2019 05:02:29 +0000 (+0200) Subject: This is how it might look later X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=aacd9de307f43bd19065ace45688a49af064f5a5 This is how it might look later --- diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java index 4ed16e4a..83b3e2f5 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java @@ -1,5 +1,7 @@ package net.mograsim.plugin.views; +import java.util.Optional; + import javax.inject.Inject; import org.eclipse.e4.ui.model.application.ui.basic.MPart; @@ -11,11 +13,9 @@ import org.eclipse.ui.part.ViewPart; import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; import net.mograsim.logic.model.LogicExecuter; import net.mograsim.logic.model.LogicUICanvas; -import net.mograsim.logic.model.am2900.Am2900Loader; -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.machine.Machine; +import net.mograsim.machine.MachineDefinition; +import net.mograsim.machine.MachineRegistry; import net.mograsim.plugin.ThemePreferences; import net.mograsim.preferences.Preferences; @@ -40,16 +40,13 @@ public class LogicUIPart extends ViewPart // set preferences Preferences.setPreferences(new ThemePreferences(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme())); - Am2900Loader.setup(); - ViewModelModifiable viewModelModifiable = new ViewModelModifiable(); - IndirectGUIComponentCreator.createComponent(viewModelModifiable, "resource:Am2900Loader:/components/GUIAm2900.json"); - LogicModelParameters params = new LogicModelParameters(); - params.gateProcessTime = 50; - params.wireTravelTime = 10; -// timeline = ; + Optional mdo = MachineRegistry.getinstalledMachines().stream().findFirst(); + + MachineDefinition md = mdo.orElseThrow(IllegalStateException::new); + Machine m = md.createNew(); // initialize UI - ui = new LogicUICanvas(parent, SWT.NONE, viewModelModifiable); + ui = new LogicUICanvas(parent, SWT.NONE, m.getModel()); ui.addTransformListener((x, y, z) -> part.setDirty(z < 1)); ZoomableCanvasUserInput userInput = new ZoomableCanvasUserInput(ui); userInput.buttonDrag = 3; @@ -57,7 +54,7 @@ public class LogicUIPart extends ViewPart userInput.enableUserInput(); // initialize executer - exec = new LogicExecuter(ViewLogicModelAdapter.convert(viewModelModifiable, params)); + exec = new LogicExecuter(m.getTimeline()); // run it exec.startLiveExecution();