diff options
-rw-r--r-- | dw/fltkui.cc | 9 | ||||
-rw-r--r-- | dw/fltkui.hh | 3 |
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 { |