X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2FTextComponent.java;h=b0138aa2e1ad062c40afcb3f1f287c15da12d021;hb=35df5a4186f12073d5cdc956b645b882b43b858a;hp=871d4f9d41ec7efa9215cd65acb00f451e566426;hpb=fd422eab477a9e63b7db45a5d0e899373a2856a0;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java index 871d4f9d..b0138aa2 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java @@ -10,6 +10,7 @@ import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.NoLogicAdapter; import net.mograsim.preferences.Preferences; +//TODO clean size calculation mess public class TextComponent extends GUIComponent { private final String text; @@ -18,20 +19,25 @@ public class TextComponent extends GUIComponent { super(model); this.text = text; + // If size is unset, it defaults to 0, which could prohibit this component from being rendered, which would prohibit the size being + // set to a better guess + setSize(1, 1); } @Override public void render(GeneralGC gc, Rectangle visibleRegion) { Point textExtent = gc.textExtent(text); + setSize(textExtent.x, textExtent.y); + Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text"); if (textColor != null) gc.setForeground(textColor); - gc.drawText(text, getPosX() - textExtent.x / 2, getPosY() - textExtent.y / 2, true); + gc.drawText(text, getPosX(), getPosY(), true); } static { - ViewLogicModelAdapter.addComponentAdapter(NoLogicAdapter.forClass(TextComponent.class)); + ViewLogicModelAdapter.addComponentAdapter(new NoLogicAdapter<>(TextComponent.class)); } }