X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2FLogicUICanvas.java;h=da724d838c7d4d6a7808d1d9cb3ac597d1479d59;hb=533a3fe1578af4ac450ee677c6873e4579d1cfc3;hp=2115e7b1cd3380ac6055e793258a18e29cb0842e;hpb=e618fa725540dd5f92ccf0ed7d65acdc8eb83f93;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/LogicUICanvas.java b/LogicUI/src/era/mi/gui/LogicUICanvas.java index 2115e7b1..da724d83 100644 --- a/LogicUI/src/era/mi/gui/LogicUICanvas.java +++ b/LogicUI/src/era/mi/gui/LogicUICanvas.java @@ -8,6 +8,7 @@ import org.eclipse.swt.widgets.Event; import era.mi.gui.model.ViewModel; import era.mi.gui.model.components.GUIComponent; +import era.mi.gui.model.wires.GUIWire; import era.mi.gui.model.wires.Pin; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; @@ -40,30 +41,34 @@ public class LogicUICanvas extends ZoomableCanvas p.removePinMovedListener(redrawConsumer); redrawThreadsafe(); }; - model.addComponentAddedListener(c -> + Consumer componentAddedListener = c -> { - c.addComponentChangedListener(redrawConsumer); + c.addComponentLookChangedListener(redrawConsumer); c.addComponentMovedListener(redrawConsumer); c.addPinAddedListener(pinAddedListener); c.addPinRemovedListener(pinRemovedListener); redrawThreadsafe(); - }); + }; + model.addComponentAddedListener(componentAddedListener); + model.getComponents().forEach(componentAddedListener); model.addComponentRemovedListener(c -> { - c.removeComponentChangedListener(redrawConsumer); + c.removeComponentLookChangedListener(redrawConsumer); c.removeComponentMovedListener(redrawConsumer); c.removePinAddedListener(pinAddedListener); c.removePinRemovedListener(pinRemovedListener); redrawThreadsafe(); }); - model.addWireAddedListener(w -> + Consumer wireAddedListener = w -> { - w.addWireChangedListener(redrawConsumer); + w.addWireLookChangedListener(redrawConsumer); redrawThreadsafe(); - }); + }; + model.addWireAddedListener(wireAddedListener); + model.getWires().forEach(wireAddedListener); model.addWireRemovedListener(w -> { - w.removeWireChangedListener(redrawConsumer); + w.removeWireLookChangedListener(redrawConsumer); redrawThreadsafe(); }); @@ -79,7 +84,7 @@ public class LogicUICanvas extends ZoomableCanvas private void drawComponent(GeneralGC gc, GUIComponent component, Rectangle visibleRegion) { component.render(gc, visibleRegion); - gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_CYAN)); + gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_DARK_CYAN)); for (Pin p : component.getPins()) { Point pos = p.getPos();