X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fsymbolrenderers%2FCenteredTextSymbolRenderer.java;h=9a6599a659db930836b3dbc8e44aa996d7a1a3b2;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=e1a68508e2eee4d19f2e1524f2fac9ba60ce72a4;hpb=a393b0a2a9899707af54c9ee77a01f28ac967bd1;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java index e1a68508..9a6599a6 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java @@ -4,8 +4,8 @@ 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.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.components.ModelComponent; +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; @@ -20,13 +20,15 @@ import net.mograsim.preferences.Preferences; */ public class CenteredTextSymbolRenderer implements Renderer { - private final GUIComponent component; - private final CenteredTextParams params; + private final ModelComponent component; + private final String text; + private final double fontHeight; - public CenteredTextSymbolRenderer(SubmodelComponent component, CenteredTextParams params) + public CenteredTextSymbolRenderer(ModelComponent component, CenteredTextParams params) { this.component = component; - this.params = params; + this.text = params.text; + this.fontHeight = params.fontHeight; } @@ -34,16 +36,31 @@ public class CenteredTextSymbolRenderer implements Renderer public void render(GeneralGC gc, Rectangle visibleRegion) { Font oldFont = gc.getFont(); - gc.setFont(new Font(oldFont.getName(), params.fontHeight, oldFont.getStyle())); - ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.text"); + gc.setFont(new Font(oldFont.getName(), fontHeight, oldFont.getStyle())); + ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.model.color.text"); if (fg != null) gc.setForeground(ColorManager.current().toColor(fg)); - Point idSize = gc.textExtent(params.text); + Point idSize = gc.textExtent(text); Rectangle bounds = component.getBounds(); - gc.drawText(params.text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); + gc.drawText(text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); gc.setFont(oldFont); } + @Override + public String getIDForSerializing(IdentifyParams idParams) + { + return "centeredText"; + } + + @Override + public CenteredTextParams getParamsForSerializing(IdentifyParams idParams) + { + CenteredTextParams params = new CenteredTextParams(); + params.text = text; + params.fontHeight = fontHeight; + return params; + } + public static class CenteredTextParams { public String text;