X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fserializing%2FDeserializedSubmodelComponent.java;h=33f00e15716a7146ac81ba8218bfbdeb39cc834e;hb=92862c4723c5eff22257e8de06166a124efb5d77;hp=8db85a1d3575b612501d7115e5583c9e01a64552;hpb=a3f31d6bf39eb747172a6db329de72c803903c2e;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java index 8db85a1d..33f00e15 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java @@ -2,9 +2,7 @@ package net.mograsim.logic.model.serializing; import com.google.gson.JsonElement; -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.LogicModelModifiable; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; @@ -17,7 +15,7 @@ public class DeserializedSubmodelComponent extends SubmodelComponent * If a DeserializedSubmodelComponent is part of another SubmodelComponent, when it it serialized, it should not return its internal * structure, but rather the component ID used to create it. * - * @see SubmodelComponentSerializer#deserialize(ViewModelModifiable, SubmodelComponentParams, String, String, JsonElement) + * @see SubmodelComponentSerializer#deserialize(LogicModelModifiable, SubmodelComponentParams, String, String, JsonElement) * SubmodelComponentSerializer.deserialize(...) * @see SubmodelComponentSerializer#serialize(SubmodelComponent, java.util.function.Function) SubmodelComponentSerializer.serialize(...) */ @@ -27,59 +25,34 @@ public class DeserializedSubmodelComponent extends SubmodelComponent */ public final JsonElement paramsForSerializingOverride; - private Renderer outlineRenderer; - private Renderer symbolRenderer; - private HighLevelStateHandler highLevelStateHandler; - - public DeserializedSubmodelComponent(ViewModelModifiable model, String name, String idForSerializingOverride, JsonElement paramsForSerializingOverride) + public DeserializedSubmodelComponent(LogicModelModifiable model, String name, String idForSerializingOverride, + JsonElement paramsForSerializingOverride) { - super(model, name); + super(model, name, false); this.idForSerializingOverride = idForSerializingOverride; this.paramsForSerializingOverride = paramsForSerializingOverride; + init(); } @Override - public void setHighLevelState(String stateID, Object newState) - { - highLevelStateHandler.setHighLevelState(stateID, newState); - } - - @Override - public Object getHighLevelState(String stateID) - { - return highLevelStateHandler.getHighLevelState(stateID); - } - - @Override - protected void renderOutline(GeneralGC gc, Rectangle visibleRegion) + public void setSymbolRenderer(Renderer symbolRenderer) { - if (outlineRenderer != null) - outlineRenderer.render(gc, visibleRegion); + super.setSymbolRenderer(symbolRenderer); } @Override - protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion) - { - if (symbolRenderer != null) - symbolRenderer.render(gc, visibleRegion); - } - public void setOutlineRenderer(Renderer outlineRenderer) { - this.outlineRenderer = outlineRenderer; - } - - public void setSymbolRenderer(Renderer symbolRenderer) - { - this.symbolRenderer = symbolRenderer; + super.setOutlineRenderer(outlineRenderer); } - public void setHighLevelStateHandler(HighLevelStateHandler highLevelStateHandler) + @Override + public void setHighLevelStateHandler(HighLevelStateHandler handler) { - this.highLevelStateHandler = highLevelStateHandler; + super.setHighLevelStateHandler(handler); } - public ViewModelModifiable getSubmodelModifiable() + public LogicModelModifiable getSubmodelModifiable() { return submodelModifiable; } @@ -102,5 +75,9 @@ public class DeserializedSubmodelComponent extends SubmodelComponent return super.addSubmodelInterface(supermodelPin); } - // TODO static initializer + @Override + public void removeSubmodelInterface(String name) + { + super.removeSubmodelInterface(name); + } } \ No newline at end of file