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