X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fcomponents%2Fsubmodels%2FSimpleRectangularSubmodelComponent.java;h=ef567e9241cb5844d4530de4d43c21ed6a349142;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=5e01fe047efce5c0164955d8cdcaa5fe4d9ac357;hpb=3a52b6bffe52db5dd5ca907b4b3dfd368a58e14f;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java index 5e01fe04..ef567e92 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java @@ -37,7 +37,12 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent public SimpleRectangularSubmodelComponent(LogicModelModifiable model, int logicWidth, String label, String name) { - super(model, name); + this(model, logicWidth, label, name, true); + } + + protected SimpleRectangularSubmodelComponent(LogicModelModifiable model, int logicWidth, String label, String name, boolean callInit) + { + super(model, name, false); this.label = label; this.logicWidth = logicWidth; this.inputPinNames = new ArrayList<>(); @@ -53,6 +58,9 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent rendererParams.pinLabelMargin = pinNameMargin; setSymbolRenderer(new SimpleRectangularLikeSymbolRenderer(this, rendererParams)); setOutlineRenderer(new DefaultOutlineRenderer(this)); + + if (callInit) + init(); } protected void setInputPins(String... pinNames) @@ -81,7 +89,8 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent String pinName = newPinNames[i]; int oldPinIndex = pinNamesListThisSide.indexOf(pinName); if (oldPinIndex == -1) - super.addSubmodelInterface(new MovablePin(this, pinName, logicWidth, usage, relX, pinDistance / 2 + i * pinDistance)); + super.addSubmodelInterface( + new MovablePin(model, this, pinName, logicWidth, usage, relX, pinDistance / 2 + i * pinDistance)); else getSupermodelMovablePin(pinName).setRelPos(relX, pinDistance / 2 + i * pinDistance); }