X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=SampleERCP%2Fsrc%2Fsampleercp%2Fparts%2FLogicUIPart.java;fp=SampleERCP%2Fsrc%2Fsampleercp%2Fparts%2FLogicUIPart.java;h=0000000000000000000000000000000000000000;hb=a28f7aa0dab4248e99159c5a647676170cb17a4e;hp=98fb64c1c55e73c477101705e41accb13c79a3fd;hpb=80bfbd8ebf0ad8a7ad98584544a0c73f43e6f3b6;p=Mograsim.git diff --git a/SampleERCP/src/sampleercp/parts/LogicUIPart.java b/SampleERCP/src/sampleercp/parts/LogicUIPart.java deleted file mode 100644 index 98fb64c1..00000000 --- a/SampleERCP/src/sampleercp/parts/LogicUIPart.java +++ /dev/null @@ -1,54 +0,0 @@ -package sampleercp.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 era.mi.gui.LogicExecuter; -import era.mi.gui.LogicUICanvas; -import era.mi.gui.examples.RSLatchExample; -import era.mi.gui.model.ViewModel; -import era.mi.gui.modeladapter.LogicModelParameters; -import era.mi.gui.modeladapter.ViewLogicModelAdapter; -import era.mi.logic.timeline.Timeline; -import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; - -public class LogicUIPart -{ - @Inject - private MPart part; - - @PostConstruct - public void create(Composite parent) - { - // setup view model - ViewModel viewModel = new ViewModel(); - 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