import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
+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.ZoomableCanvasOverlay;
import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput;
*/
public class LogicUIStandalone
{
+ private ViewModel model;
+ private Timeline timeline;
+
private final Display display;
private final Shell shell;
private final LogicUICanvas ui;
- private Timeline timeline;
- public LogicUIStandalone(Timeline timeline)
+ public LogicUIStandalone(ViewModel model)
{
- this.timeline = timeline;
+ this.model = model;
display = new Display();
shell = new Shell(display);
shell.setLayout(new FillLayout());
- ui = new LogicUICanvas(shell, SWT.NONE);
+ ui = new LogicUICanvas(shell, SWT.NONE, model);
ZoomableCanvasUserInput userInput = new ZoomableCanvasUserInput(ui);
userInput.buttonDrag = 3;
userInput.buttonZoom = 2;
userInput.enableUserInput();
new ZoomableCanvasOverlay(ui, null).enableScale();
+
+ // TODO don't do this here
+ LogicModelParameters params = new LogicModelParameters();
+ params.gateProcessTime = 50;
+ params.wireTravelTime = 10;
+ timeline = ViewLogicModelAdapter.convert(model, params);
}
public LogicUICanvas getLogicUICanvas()
if (!display.readAndDispatch())
display.sleep();
running.set(false);
- simulationThread.interrupt();
+// simulationThread.interrupt();
}
}
\ No newline at end of file