X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=net.mograsim.rcp%2Fsrc%2Fnet%2Fmograsim%2Frcp%2Fparts%2FLogicUIPart.java;fp=net.mograsim.rcp%2Fsrc%2Fnet%2Fmograsim%2Frcp%2Fparts%2FLogicUIPart.java;h=0000000000000000000000000000000000000000;hb=f14ea37d69488dd51518a36413af7176916b8bd7;hp=2979c54b39c4ac17e557460cd812cc7b3e2e95cb;hpb=a84700145147c263ad6692c99117a7cf37832378;p=Mograsim.git diff --git a/net.mograsim.rcp/src/net/mograsim/rcp/parts/LogicUIPart.java b/net.mograsim.rcp/src/net/mograsim/rcp/parts/LogicUIPart.java deleted file mode 100644 index 2979c54b..00000000 --- a/net.mograsim.rcp/src/net/mograsim/rcp/parts/LogicUIPart.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.mograsim.rcp.parts; - -import javax.annotation.PostConstruct; -import javax.inject.Inject; - -import org.eclipse.e4.ui.model.application.ui.basic.MPart; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; - -import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; -import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.ui.LogicExecuter; -import net.mograsim.logic.ui.LogicUICanvas; -import net.mograsim.logic.ui.examples.RSLatchExample; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; - -public class LogicUIPart -{ - @Inject - private MPart part; - - @PostConstruct - public void create(Composite parent) - { - // setup view model - ViewModelModifiable viewModel = new ViewModelModifiable(); - RSLatchExample.createRSLatchExample(viewModel); - - // convert to logic model - LogicModelParameters params = new LogicModelParameters(); - params.gateProcessTime = 50; - params.wireTravelTime = 10; - Timeline timeline = ViewLogicModelAdapter.convert(viewModel, params); - - // initialize UI - LogicUICanvas ui = new LogicUICanvas(parent, SWT.NONE, viewModel); - ui.addTransformListener((x, y, z) -> part.setDirty(z < 1)); - ZoomableCanvasUserInput userInput = new ZoomableCanvasUserInput(ui); - userInput.buttonDrag = 3; - userInput.buttonZoom = 2; - userInput.enableUserInput(); - - // initialize executer - LogicExecuter exec = new LogicExecuter(timeline); - - // run it - exec.startLiveExecution(); - - // TODO find a better condition when to stop - ui.addDisposeListener(e -> exec.stopLiveExecution()); - } -} \ No newline at end of file