diff options
author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2009-04-22 09:56:52 +0200 |
---|---|---|
committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2009-04-22 09:56:52 +0200 |
commit | db8450799255e2de37a9cd8c15610211673af6e1 (patch) | |
tree | 96295e53c051a7bfea4c75d972baf7107aa6d529 /dw | |
parent | 8ab9de15c7e52f8ab201412649f946b1922b1944 (diff) |
disable forms while stylesheets are pending
To avoid lost user input on repush, we disable forms until all
stylesheets have been loaded.
Also open select widgets cause crashes on repush.
Diffstat (limited to 'dw')
-rw-r--r-- | dw/fltkui.cc | 9 | ||||
-rw-r--r-- | dw/ui.cc | 5 | ||||
-rw-r--r-- | dw/ui.hh | 1 |
3 files changed, 14 insertions, 1 deletions
diff --git a/dw/fltkui.cc b/dw/fltkui.cc index 4e39ad7d..44957848 100644 --- a/dw/fltkui.cc +++ b/dw/fltkui.cc @@ -235,7 +235,14 @@ bool FltkResource::isEnabled () void FltkResource::setEnabled (bool enabled) { - /** \bug Not implemented. */ + for (Iterator <ViewAndWidget> it = viewsAndWidgets->iterator (); + it.hasNext(); ) { + ViewAndWidget *viewAndWidget = it.getNext (); + if (enabled) + viewAndWidget->widget->activate (); + else + viewAndWidget->widget->deactivate (); + } } // ---------------------------------------------------------------------- @@ -101,6 +101,11 @@ void Embed::setDisplayed (bool displayed) resource->setDisplayed (displayed); } +void Embed::setEnabled (bool enabled) +{ + resource->setEnabled (enabled); +} + void Embed::draw (View *view, Rectangle *area) { drawWidgetBox (view, area, false); @@ -244,6 +244,7 @@ public: void setAscent (int ascent); void setDescent (int descent); void setDisplayed (bool displayed); + void setEnabled (bool displayed); void draw (View *view, Rectangle *area); Iterator *iterator (Content::Type mask, bool atEnd); void setStyle (style::Style *style); |