+void Container::check_animation_interval()
+{
+ Time::TimeDelta shortest;
+ for(const Child *c: children)
+ {
+ const Time::TimeDelta &child_iv = c->widget->get_animation_interval();
+ if(child_iv && (!shortest || child_iv<shortest))
+ shortest = child_iv;
+ }
+
+ if(shortest!=anim_interval)
+ set_animation_interval(shortest);
+}
+
+void Container::rebuild_hierarchy()
+{
+ Widget::rebuild_hierarchy();
+
+ if(children_rebuild_needed)
+ {
+ children_rebuild_needed = false;
+ for(Child *c: children)
+ c->widget->rebuild_hierarchy();
+ }
+}
+