X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=net.mograsim.logic.ui.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2Fmi%2Fnandbased%2Fam2901%2FGUIAm2901.java;h=7548ec59c24a4885df2824c6ed92d9ecb8ab82f9;hb=01c5d7035474a5eb58f216b6831b2c0d8c174efa;hp=b589e67e98da68f8afba12d1d85372a5cde4a840;hpb=74bced7a3a38f65c65f3395cc422eb98e34da0b8;p=Mograsim.git diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java index b589e67e..7548ec59 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java @@ -2,22 +2,20 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1_4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; public class GUIAm2901 extends SimpleRectangularSubmodelComponent { - private GUIram4 ram; - private GUIAm2901QReg qreg; public GUIAm2901(ViewModelModifiable model) { @@ -79,12 +77,12 @@ public class GUIAm2901 extends SimpleRectangularSubmodelComponent GUIAm2901ALUInclSourceDecodeInclFunctionDecode alu = new GUIAm2901ALUInclSourceDecodeInclFunctionDecode(submodelModifiable); GUIor4 Fneq0 = new GUIor4(submodelModifiable); GUINandGate notFneq0 = new GUINandGate(submodelModifiable, 1); - ram = new GUIram4(submodelModifiable); + GUIram4 ram = new GUIram4(submodelModifiable); GUIdlatch4 QAlatch = new GUIdlatch4(submodelModifiable); GUIdlatch4 QBlatch = new GUIdlatch4(submodelModifiable); GUIsel3_4 ramDsel = new GUIsel3_4(submodelModifiable); GUIsel3_4 qregDsel = new GUIsel3_4(submodelModifiable); - qreg = new GUIAm2901QReg(submodelModifiable); + GUIAm2901QReg qreg = new GUIAm2901QReg(submodelModifiable); WireCrossPoint cpC1 = new WireCrossPoint(submodelModifiable, 1); WireCrossPoint cpC2 = new WireCrossPoint(submodelModifiable, 1); @@ -342,54 +340,8 @@ public class GUIAm2901 extends SimpleRectangularSubmodelComponent new GUIWire(submodelModifiable, cpFneq0, notFneq0.getPin("A"), new Point(315, 445)); new GUIWire(submodelModifiable, cpFneq0, notFneq0.getPin("B"), new Point(315, 455)); new GUIWire(submodelModifiable, notFneq0.getPin("Y"), Feq0, new Point[0]); - } - @Override - public void setHighLevelState(String stateID, Object newState) - { - switch (stateID) - { - default: - int indexOfDot = stateID.indexOf('.'); - if (indexOfDot != -1) - { - switch (stateID.substring(0, indexOfDot)) - { - case "regs": - ram.setHighLevelState(stateID.substring(indexOfDot + 1), newState); - break; - case "qreg": - qreg.setHighLevelState(stateID.substring(indexOfDot + 1), newState); - break; - default: - super.setHighLevelState(stateID, newState); - break; - } - } else - super.setHighLevelState(stateID, newState); - } - } - - @Override - public Object getHighLevelState(String stateID) - { - switch (stateID) - { - default: - int indexOfDot = stateID.indexOf('.'); - if (indexOfDot != -1) - { - switch (stateID.substring(0, indexOfDot)) - { - case "regs": - return ram.getHighLevelState(stateID.substring(indexOfDot + 1)); - case "qreg": - return qreg.getHighLevelState(stateID.substring(indexOfDot + 1)); - default: - return super.getHighLevelState(stateID); - } - } - return super.getHighLevelState(stateID); - } + addHighLevelStateSubcomponentID("regs", ram); + addHighLevelStateSubcomponentID("qreg", qreg); } } \ No newline at end of file