X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2Fmi%2Fnandbased%2FGUIdff.java;h=8f183dccff924c21a8e581eae02c0fa4986895ae;hb=74bced7a3a38f65c65f3395cc422eb98e34da0b8;hp=40f33310764e73ef5eb6e214f261d981e75be173;hpb=05e36ce451a394259e3ed21ea21ac3a1fd7d4e40;p=Mograsim.git diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java index 40f33310..8f183dcc 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java @@ -10,6 +10,8 @@ import net.mograsim.logic.ui.model.wires.WireCrossPoint; public class GUIdff extends SimpleRectangularSubmodelComponent { + private GUI_rsLatch _rsLatch; + public GUIdff(ViewModelModifiable model) { super(model, 1, "GUIdff"); @@ -30,7 +32,7 @@ public class GUIdff extends SimpleRectangularSubmodelComponent GUI_rsLatch _rsLatch1 = new GUI_rsLatch(submodelModifiable); GUInand3 nand3 = new GUInand3(submodelModifiable); GUINandGate nand2 = new GUINandGate(submodelModifiable, 1); - GUI_rsLatch _rsLatch2 = new GUI_rsLatch(submodelModifiable); + GUI_rsLatch _rsLatch2 = this._rsLatch = new GUI_rsLatch(submodelModifiable); WireCrossPoint cp1 = new WireCrossPoint(submodelModifiable, 1); WireCrossPoint cp2 = new WireCrossPoint(submodelModifiable, 1); @@ -62,4 +64,30 @@ public class GUIdff extends SimpleRectangularSubmodelComponent new GUIWire(submodelModifiable, _rsLatch2.getPin("Q"), Q); new GUIWire(submodelModifiable, _rsLatch2.getPin("_Q"), _Q); } + + @Override + public void setHighLevelState(String stateID, Object newState) + { + switch (stateID) + { + case "q": + _rsLatch.setHighLevelState("q", newState); + break; + default: + super.setHighLevelState(stateID, newState); + break; + } + } + + @Override + public Object getHighLevelState(String stateID) + { + switch (stateID) + { + case "q": + return _rsLatch.getHighLevelState("q"); + default: + return super.getHighLevelState(stateID); + } + } } \ No newline at end of file