summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-04 11:25:43 +0000
committerDana Jansens <danakj@orodu.net>2002-12-04 11:25:43 +0000
commit7dc834cc93efb9a4181ba7d29a72d49e596e9746 (patch)
treeb8ccadbce2bfe81f593542b665e9a5ece11072e8
parent772ff27864b724c884ca5681fedc42711c63ec82 (diff)
make setStyle() recursive
-rw-r--r--otk/widget.cc11
-rw-r--r--otk/widget.hh2
2 files changed, 12 insertions, 1 deletions
diff --git a/otk/widget.cc b/otk/widget.cc
index e95848a6..6423a7af 100644
--- a/otk/widget.cc
+++ b/otk/widget.cc
@@ -420,6 +420,17 @@ void OtkWidget::removeChild(OtkWidget *child)
_children.erase(it);
}
+void OtkWidget::setStyle(Style *style)
+{
+ assert(style);
+ _style = style;
+ _dirty = true;
+ OtkWidgetList::iterator it, end = _children.end();
+ for (it = _children.begin(); it != end; ++it)
+ (*it)->setStyle(style);
+}
+
+
void OtkWidget::setEventDispatcher(OtkEventDispatcher *disp)
{
if (_event_dispatcher)
diff --git a/otk/widget.hh b/otk/widget.hh
index 57973e9b..249a4e28 100644
--- a/otk/widget.hh
+++ b/otk/widget.hh
@@ -101,7 +101,7 @@ public:
void setDirection(Direction dir) { _direction = dir; }
inline Style *getStyle(void) const { return _style; }
- virtual void setStyle(Style *style) { assert(style); _style = style; }
+ virtual void setStyle(Style *style);
inline OtkEventDispatcher *getEventDispatcher(void)
{ return _event_dispatcher; }