Actually use adapter. Somehow this introduced a rendering bug...
[Mograsim.git] / LogicUI / src / era / mi / gui / LogicUIStandalone.java
index 3b3c740..1df22be 100644 (file)
@@ -7,6 +7,9 @@ import org.eclipse.swt.layout.FillLayout;
 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;
@@ -18,24 +21,32 @@ import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInpu
  */
 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()
@@ -82,6 +93,6 @@ public class LogicUIStandalone
                        if (!display.readAndDispatch())
                                display.sleep();
                running.set(false);
-               simulationThread.interrupt();
+//             simulationThread.interrupt();
        }
 }
\ No newline at end of file