+++ /dev/null
-package net.mograsim.plugin.views;
-
-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 org.eclipse.ui.PlatformUI;
-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.machine.Machine;
-import net.mograsim.plugin.MachineContext;
-import net.mograsim.plugin.ThemePreferences;
-import net.mograsim.preferences.Preferences;
-
-public class LogicUIPart extends ViewPart
-{
- @Inject
- private MPart part;
-
- private LogicExecuter exec;
- private LogicUICanvas ui;
-
- @Override
- public void dispose()
- {
- if (exec != null)
- exec.stopLiveExecution();
- }
-
- @Override
- public void createPartControl(Composite parent)
- {
- // set preferences
- Preferences.setPreferences(new ThemePreferences(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme()));
-
- Machine m = MachineContext.getInstance().getMachine();
-
- // initialize UI
- 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;
- userInput.buttonZoom = 2;
- userInput.enableUserInput();
-
- // initialize executer
- exec = new LogicExecuter(m.getTimeline());
-
- // run it
- exec.startLiveExecution();
- }
-
- @Override
- public void setFocus()
- {
- ui.setFocus();
- }
-}
\ No newline at end of file