X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fsymbolrenderers%2FPinNamesSymbolRenderer.java;h=ede871052457666f7fc303d6adad2b15031ff879;hb=5140b424c507b8f22f80b452e475d0b56a3a36ce;hp=d6c76e118f9c0b606240b850fb2a6fa42ada7b39;hpb=a7bca432c2b7127da12edde9e3e301d5c4c59ab7;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/PinNamesSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/PinNamesSymbolRenderer.java index d6c76e11..ede87105 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/PinNamesSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/PinNamesSymbolRenderer.java @@ -7,9 +7,9 @@ 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.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -17,12 +17,12 @@ import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer. public class PinNamesSymbolRenderer implements Renderer { - private final GUIComponent component; + private final ModelComponent component; private final Map pinPositions; private final double pinLabelHeight; private final double pinLabelMargin; - public PinNamesSymbolRenderer(GUIComponent component, PinNamesParams params) + public PinNamesSymbolRenderer(ModelComponent component, PinNamesParams params) { this.component = component; this.pinPositions = new HashMap<>(); @@ -30,6 +30,7 @@ public class PinNamesSymbolRenderer implements Renderer this.pinLabelMargin = params.pinLabelMargin; if (params.pinNamePositions != null) params.pinNamePositions.forEach(this::setPinPosition); + component.addPinRemovedListener(p -> setPinPosition(p, null)); } public void setPinPosition(String pinName, Position position) @@ -73,7 +74,13 @@ public class PinNamesSymbolRenderer implements Renderer } @Override - public PinNamesParams getParamsForSerializing(IdentifierGetter idGetter) + public String getIDForSerializing(IdentifyParams idParams) + { + return "pinNames"; + } + + @Override + public PinNamesParams getParamsForSerializing(IdentifyParams idParams) { PinNamesParams params = new PinNamesParams(); params.pinNamePositions = new HashMap<>();