X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=SampleERCP%2Fsrc%2Fnet%2Fmograsim%2Frcp%2Fparts%2FLogicUIPart.java;fp=SampleERCP%2Fsrc%2Fnet%2Fmograsim%2Frcp%2Fparts%2FLogicUIPart.java;h=0000000000000000000000000000000000000000;hb=07faf07e3acb8b2afdc2bf65a46bc868faaed0f8;hp=d23c9f45a1c21a8cb303ddbf641b6c6d4e8e6b53;hpb=0009789a8df6b8d4562b6e1cbfa75102a7516ea8;p=Mograsim.git diff --git a/SampleERCP/src/net/mograsim/rcp/parts/LogicUIPart.java b/SampleERCP/src/net/mograsim/rcp/parts/LogicUIPart.java deleted file mode 100644 index d23c9f45..00000000 --- a/SampleERCP/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.mograsim.logic.ui.LogicExecuter; -import net.mograsim.logic.ui.LogicUICanvas; -import net.mograsim.logic.ui.examples.RSLatchExample; -import net.mograsim.logic.ui.model.ViewModel; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; -import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; -import net.mograsim.logic.core.timeline.Timeline; - -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