diff options
Diffstat (limited to 'fluid/Fl_Widget_Type.cxx')
| -rw-r--r-- | fluid/Fl_Widget_Type.cxx | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx index 08396e85c..32705b417 100644 --- a/fluid/Fl_Widget_Type.cxx +++ b/fluid/Fl_Widget_Type.cxx @@ -3556,6 +3556,23 @@ Fl_Widget *Fl_Widget_Type::enter_live_mode(int) { return live_widget; } +Fl_Widget* Fl_Widget_Type::propagate_live_mode(Fl_Group* grp) { + live_widget = grp; + copy_properties(); + Fl_Type *n; + for (n = next; n && n->level > level; n = n->next) { + if (n->level == level+1) { + Fl_Widget* proxy_child = n->enter_live_mode(); + if (proxy_child && n->is_widget() && ((Fl_Widget_Type*)n)->resizable()) { + grp->resizable(proxy_child); + } + } + } + grp->end(); + return live_widget; +} + + void Fl_Widget_Type::leave_live_mode() { } @@ -3647,7 +3664,5 @@ void Fl_Widget_Type::copy_properties() { w->hide(); if (!o->active()) w->deactivate(); - if (resizable() && w->parent()) - w->parent()->resizable(o); } |
