aboutsummaryrefslogtreecommitdiff
path: root/dw
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-04-22 09:56:52 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-04-22 09:56:52 +0200
commitdb8450799255e2de37a9cd8c15610211673af6e1 (patch)
tree96295e53c051a7bfea4c75d972baf7107aa6d529 /dw
parent8ab9de15c7e52f8ab201412649f946b1922b1944 (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.cc9
-rw-r--r--dw/ui.cc5
-rw-r--r--dw/ui.hh1
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 ();
+ }
}
// ----------------------------------------------------------------------
diff --git a/dw/ui.cc b/dw/ui.cc
index b2f9531d..b58669c5 100644
--- a/dw/ui.cc
+++ b/dw/ui.cc
@@ -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);
diff --git a/dw/ui.hh b/dw/ui.hh
index 37724b52..29ee8916 100644
--- a/dw/ui.hh
+++ b/dw/ui.hh
@@ -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);