X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2FTextComponent.java;fp=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fmodel%2Fcomponents%2FTextComponent.java;h=871d4f9d41ec7efa9215cd65acb00f451e566426;hb=fd422eab477a9e63b7db45a5d0e899373a2856a0;hp=0000000000000000000000000000000000000000;hpb=ab6fe55865636188226545f5047a606ebd95674c;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 new file mode 100644 index 00000000..871d4f9d --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java @@ -0,0 +1,37 @@ +package net.mograsim.logic.ui.model.components; + +import org.eclipse.swt.graphics.Color; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +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.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.ui.modeladapter.componentadapters.NoLogicAdapter; +import net.mograsim.preferences.Preferences; + +public class TextComponent extends GUIComponent +{ + private final String text; + + public TextComponent(ViewModelModifiable model, String text) + { + super(model); + this.text = text; + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + { + Point textExtent = gc.textExtent(text); + 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); + } + + static + { + ViewLogicModelAdapter.addComponentAdapter(NoLogicAdapter.forClass(TextComponent.class)); + } +}