summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dw/fltkui.cc9
-rw-r--r--dw/fltkui.hh3
2 files changed, 10 insertions, 2 deletions
diff --git a/dw/fltkui.cc b/dw/fltkui.cc
index 44957848..7a8e0a57 100644
--- a/dw/fltkui.cc
+++ b/dw/fltkui.cc
@@ -62,6 +62,8 @@ FltkResource::FltkResource (FltkPlatform *platform)
allocation.descent = 0;
style = NULL;
+
+ enabled = true;
}
/**
@@ -105,6 +107,8 @@ void FltkResource::attachView (FltkView *view)
viewsAndWidgets->append (viewAndWidget);
if (style)
setWidgetStyle (viewAndWidget->widget, style);
+ if (! enabled)
+ viewAndWidget->widget->deactivate ();
}
}
@@ -229,12 +233,13 @@ bool FltkResource::displayed()
bool FltkResource::isEnabled ()
{
- /** \bug Not implemented. */
- return true;
+ return enabled;
}
void FltkResource::setEnabled (bool enabled)
{
+ this->enabled = enabled;
+
for (Iterator <ViewAndWidget> it = viewsAndWidgets->iterator ();
it.hasNext(); ) {
ViewAndWidget *viewAndWidget = it.getNext ();
diff --git a/dw/fltkui.hh b/dw/fltkui.hh
index 68cb4923..109fc0e5 100644
--- a/dw/fltkui.hh
+++ b/dw/fltkui.hh
@@ -176,6 +176,9 @@ namespace ui {
*/
class FltkResource: public object::Object
{
+private:
+ bool enabled;
+
protected:
class ViewAndWidget: public object::Object
{