Mercurial > projects > mde
diff mde/gui/widget/TextWidget.d @ 103:42e241e7be3e
ContentList content type; getting content items/lists from Options generically via content.Items, and a new addContent widget function. Several improvements to generic handling of content. New button-with-text widget.
Some tidy-up.
Some name changes, to increase uniformity.
Bug-fix: floating widgets of fixed size could previously be made larger than intended from config dimdata.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Tue, 25 Nov 2008 18:01:44 +0000 |
parents | 5de5810e3516 |
children | 08651e8a8c51 |
line wrap: on
line diff
--- a/mde/gui/widget/TextWidget.d Sat Nov 22 20:59:36 2008 +0000 +++ b/mde/gui/widget/TextWidget.d Tue Nov 25 18:01:44 2008 +0000 @@ -24,12 +24,10 @@ import mde.gui.renderer.IRenderer; import mde.gui.content.Content; -debug { - import tango.util.log.Log : Log, Logger; - private Logger logger; - static this () { - logger = Log.getLogger ("mde.gui.widget.TextWidget"); - } +import tango.util.log.Log : Log, Logger; +private Logger logger; +static this () { + logger = Log.getLogger ("mde.gui.widget.TextWidget"); } /** Base text widget. @@ -88,3 +86,29 @@ IContent content; int index; } + +class TextButtonWidget : AButtonWidget +{ + this (IWidgetManager mgr, widgetID id, WidgetData data) { + WDCheck (data, 1, 1); + adapter = mgr.renderer.getAdapter (data.strings[0]); + adapter.getDimensions (mw, mh); + w = mw; + h = mh; + super (mgr, id, data); + } + + void draw () { + super.draw(); + adapter.draw (x,y); + } + + void activated () { + logger.info ("Button \""~adapter.text~"\" pressed"); + } + +protected: + IRenderer.TextAdapter adapter; + IContent content; + int index; +} \ No newline at end of file