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=2de3345471ad0b4db16dcc6b7baa663dbfa6efd8;hpb=74f82a58865d948fa700efbc185a8d057e4a0175;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 2de33454..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,23 +2,20 @@ 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; import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.Renderer; -//TODO serialize handlers 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(...) */ @@ -28,60 +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, + 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; } @@ -104,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