X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2FSimpleRectangularSubmodelComponent.java;h=f28723d23b50c063e68ab2fbdf278dd92fc87378;hb=3dca08194581b4fbaec431000578aca8cd309f50;hp=558df2493355004078d7709e4d016d9b7de8da72;hpb=1696b802fc36276d5135a1e5e74b601ae9776b08;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java index 558df249..f28723d2 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java @@ -55,17 +55,17 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent int inputCount = pinNames.length; int oldInputCount = inputSupermodelPins.size(); double height = Math.max(inputCount, outputSupermodelPins.size()) * pinDistance; - setSize(width, height); + super.setSize(width, height); if (oldInputCount > inputCount) while (inputSupermodelPins.size() > inputCount) { inputSubmodelPins.remove(inputCount); - removeSubmodelInterface(inputSupermodelPins.remove(inputCount)); + super.removeSubmodelInterface(inputSupermodelPins.remove(inputCount)); } else if (oldInputCount < inputCount) for (int i = oldInputCount; i < inputCount; i++) { - Pin submodelPin = addSubmodelInterface(pinNames[i], logicWidth, 0, pinDistance / 2 + i * pinDistance); + Pin submodelPin = super.addSubmodelInterface(pinNames[i], logicWidth, 0, pinDistance / 2 + i * pinDistance); inputSubmodelPins.add(submodelPin); inputSupermodelPins.add(getSupermodelPin(submodelPin)); } @@ -73,8 +73,8 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent { if (!inputSubmodelPins.get(i).name.equals(pinNames[i])) { - removeSubmodelInterface(inputSupermodelPins.get(i)); - Pin submodelPin = addSubmodelInterface(pinNames[i], logicWidth, 0, pinDistance / 2 + i * pinDistance); + super.removeSubmodelInterface(inputSupermodelPins.get(i)); + Pin submodelPin = super.addSubmodelInterface(pinNames[i], logicWidth, 0, pinDistance / 2 + i * pinDistance); inputSubmodelPins.set(i, submodelPin); inputSupermodelPins.set(i, getSupermodelPin(submodelPin)); } @@ -85,17 +85,17 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent { int outputCount = pinNames.length; int oldOutputCount = outputSupermodelPins.size(); - setSize(width, Math.max(inputSupermodelPins.size(), outputCount) * pinDistance); + super.setSize(width, Math.max(inputSupermodelPins.size(), outputCount) * pinDistance); if (oldOutputCount > outputCount) while (outputSupermodelPins.size() > outputCount) { outputSubmodelPins.remove(outputCount); - removeSubmodelInterface(outputSupermodelPins.get(outputCount)); + super.removeSubmodelInterface(outputSupermodelPins.get(outputCount)); } else if (oldOutputCount < outputCount) for (int i = oldOutputCount; i < outputCount; i++) { - Pin submodelPin = addSubmodelInterface(pinNames[i], logicWidth, width, pinDistance / 2 + i * pinDistance); + Pin submodelPin = super.addSubmodelInterface(pinNames[i], logicWidth, width, pinDistance / 2 + i * pinDistance); outputSubmodelPins.add(submodelPin); outputSupermodelPins.add(getSupermodelPin(submodelPin)); } @@ -103,8 +103,8 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent { if (!outputSubmodelPins.get(i).name.equals(pinNames[i])) { - removeSubmodelInterface(outputSupermodelPins.get(i)); - Pin submodelPin = addSubmodelInterface(pinNames[i], logicWidth, width, pinDistance / 2 + i * pinDistance); + super.removeSubmodelInterface(outputSupermodelPins.get(i)); + Pin submodelPin = super.addSubmodelInterface(pinNames[i], logicWidth, width, pinDistance / 2 + i * pinDistance); outputSubmodelPins.set(i, submodelPin); outputSupermodelPins.set(i, getSupermodelPin(submodelPin)); } @@ -177,4 +177,25 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent ret.specialized = m; return ret; } + + @Override + protected Pin addSubmodelInterface(String name, int logicWidth, double relX, double relY) + { + throw new UnsupportedOperationException( + "Can't add submodel interfaces to a SimpleRectangularSubmodelComponent directly, call setInputPins / setOutputPins instead"); + } + + @Override + protected void removeSubmodelInterface(Pin supermodelPin) + { + throw new UnsupportedOperationException( + "Can't remove submodel interfaces of a SimpleRectangularSubmodelComponent directly, call setInputPins / setOutputPins instead"); + } + + @Override + protected void setSize(double width, double height) + { + throw new UnsupportedOperationException( + "Can't set the size of a SimpleRectangularSubmodelComponent directly, call setInputPins / setOutputPins instead"); + } } \ No newline at end of file