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=5e01fe047efce5c0164955d8cdcaa5fe4d9ac357;hb=3a52b6bffe52db5dd5ca907b4b3dfd368a58e14f;hp=c04e7ae58cd5d81084f7f219edcde391c4a00e0f;hpb=020445ceb5c54ee5ff384a7e6b529ee350575b12;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 c04e7ae5..5e01fe04 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 @@ -6,9 +6,10 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; -import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.LogicModelModifiable; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; @@ -29,12 +30,12 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent private final List outputPinNames; private final List outputPinNamesUnmodifiable; - public SimpleRectangularSubmodelComponent(ViewModelModifiable model, int logicWidth, String label) + public SimpleRectangularSubmodelComponent(LogicModelModifiable model, int logicWidth, String label) { this(model, logicWidth, label, null); } - public SimpleRectangularSubmodelComponent(ViewModelModifiable model, int logicWidth, String label, String name) + public SimpleRectangularSubmodelComponent(LogicModelModifiable model, int logicWidth, String label, String name) { super(model, name); this.label = label; @@ -47,7 +48,7 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent SimpleRectangularLikeParams rendererParams = new SimpleRectangularLikeParams(); rendererParams.centerText = label; rendererParams.centerTextHeight = labelFontHeight; - rendererParams.horizontalComponentCenter = getWidth() / 2; + rendererParams.horizontalComponentCenter = width / 2; rendererParams.pinLabelHeight = pinNameFontHeight; rendererParams.pinLabelMargin = pinNameMargin; setSymbolRenderer(new SimpleRectangularLikeSymbolRenderer(this, rendererParams)); @@ -56,15 +57,16 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent protected void setInputPins(String... pinNames) { - setIOPins(0, inputPinNames, outputPinNames, pinNames); + setIOPins(0, inputPinNames, outputPinNames, PinUsage.INPUT, pinNames); } protected void setOutputPins(String... pinNames) { - setIOPins(width, outputPinNames, inputPinNames, pinNames); + setIOPins(width, outputPinNames, inputPinNames, PinUsage.OUTPUT, pinNames); } - private void setIOPins(double relX, List pinNamesListThisSide, List pinNamesListOtherSide, String... newPinNames) + private void setIOPins(double relX, List pinNamesListThisSide, List pinNamesListOtherSide, PinUsage usage, + String... newPinNames) { int inputCount = newPinNames.length; List newPinNamesList = Arrays.asList(newPinNames); @@ -79,7 +81,7 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent String pinName = newPinNames[i]; int oldPinIndex = pinNamesListThisSide.indexOf(pinName); if (oldPinIndex == -1) - super.addSubmodelInterface(new MovablePin(this, pinName, logicWidth, relX, pinDistance / 2 + i * pinDistance)); + super.addSubmodelInterface(new MovablePin(this, pinName, logicWidth, usage, relX, pinDistance / 2 + i * pinDistance)); else getSupermodelMovablePin(pinName).setRelPos(relX, pinDistance / 2 + i * pinDistance); }