- /**
- Sets the widget style. The final style name is constructed by concatenating
- the widget class and the style name with a dash.
- */
+ Container *get_parent() const { return parent; }
+
+ /** Finds the closest ancestor of a specific type. */
+ template<typename T>
+ T *find_ancestor() const
+ {
+ for(Widget *w=parent; w; w=w->get_parent())
+ if(T *tw = dynamic_cast<T *>(w))
+ return tw;
+ return 0;
+ }
+
+ /** Sets the widget style. The name of the resource to be looked up is
+ constructed by concatenating the widget class and the style name with a
+ dash. */