X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2Fsubmodels%2FSimpleRectangularSubmodelComponent.java;h=529767e75c7e4f73e29c52dfc73cc7a388ad718c;hb=1c8f03ff4ef9514bf2c77fcba94865a59efcbca7;hp=2bc062e9083465ca839bad505b561901ab67d901;hpb=9ca90120a47e07c9182162351dc47aa89ae703be;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java index 2bc062e9..529767e7 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java @@ -5,16 +5,21 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.function.Function; import org.eclipse.swt.graphics.Color; +import com.google.gson.JsonObject; + import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Font; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.model.wires.MovablePin; import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; import net.mograsim.preferences.Preferences; public class SimpleRectangularSubmodelComponent extends SubmodelComponent @@ -127,6 +132,23 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent gc.drawRectangle(getBounds()); } + // serializing + + @Override + public SubmodelComponentParams calculateParams(Function getIdentifier) + { + SubmodelComponentParams params = super.calculateParams(getIdentifier); + JsonObject symbolRendererParams = new JsonObject(); + symbolRendererParams.addProperty("centerText", label); + symbolRendererParams.addProperty("horizontalComponentCenter", getWidth() / 2); + symbolRendererParams.addProperty("centerTextHeight", labelFontHeight); + symbolRendererParams.addProperty("pinLabelHeight", pinNameFontHeight); + symbolRendererParams.addProperty("pinLabelMargin", pinNameMargin); + params.symbolRendererSnippetID = "SimpleRectangularLikeSymbolRenderer"; + params.symbolRendererParams = symbolRendererParams; + return params; + } + @Override protected Pin addSubmodelInterface(MovablePin supermodelPin) {