Logic model binding of WireCrossPoints is now being set
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 29 May 2019 15:36:37 +0000 (17:36 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 29 May 2019 15:36:37 +0000 (17:36 +0200)
LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java
LogicUI/src/era/mi/gui/modeladapter/ViewLogicModelAdapter.java

index 73d98f5..724de54 100644 (file)
@@ -10,6 +10,8 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
 
 public class WireCrossPoint extends GUIComponent
 {
+       private final Pin pin;
+
        private ReadEnd end;
        private final int logicWidth;
 
@@ -18,7 +20,7 @@ public class WireCrossPoint extends GUIComponent
                super(model);
                this.logicWidth = logicWidth;
                setSize(0, 0);
-               addPin(new Pin(this, logicWidth, 0, 0));
+               addPin(this.pin = new Pin(this, logicWidth, 0, 0));
        }
 
        @Override
@@ -37,4 +39,9 @@ public class WireCrossPoint extends GUIComponent
        {
                return logicWidth;
        }
+
+       public Pin getPin()
+       {
+               return pin;
+       }
 }
\ No newline at end of file
index 3cb593f..1e7d341 100644 (file)
@@ -58,10 +58,14 @@ public class ViewLogicModelAdapter
                Map<GUIComponent, Component> oneToOneComponents = new HashMap<>();
                for (GUIComponent guiComp : viewModel.getComponents())
                {
-                       // WireCrossPoints just vanish
                        if (!(guiComp instanceof WireCrossPoint))
                                oneToOneComponents.put(guiComp, createAndLinkComponent(timeline, params, guiComp, logicWiresPerPinUnmodifiable,
                                                componentAdapters.get(guiComp.getClass())));
+                       else
+                       {
+                               WireCrossPoint guiCompCasted = (WireCrossPoint) guiComp;
+                               guiCompCasted.setLogicModelBinding(logicWiresPerPin.get(guiCompCasted.getPin()).createReadOnlyEnd());
+                       }
                }
 
                // TODO handle complex components