Would like the Fl_Group docs to cover how to properly
remove a widget. Would
the following patch suggestion be accurate?
+++ b/FL/Fl_Group.H
@@ -38,6 +38,10 @@ class Fl_Rect; this group, and to other groups. The only modifier
grabbed is shift (for shift-tab), so that ctrl-tab, alt-up, and such
are free for the app to use as shortcuts. + + To remove a widget from the group and destroy it, as
of 1.3.x you can + simply use <tt>delete some_widget</tt>
and this will trigger the proper + scheduling of the widget's removal from the parent
group. */
The code as suggested is correct but the comment is inaccurate. This
code destroys the widget immediately and widget deletion triggers
the (immediate) removal from its parent group (if any) inside the
destructor of the widget. This is now the recommended method.
FYI: on the contrary, Fl::delete_widget() which *schedules* the
deletion of the widget after return from the event loop is no longer
necessary and has its own issues. Since 1.3.x it is fine to delete
widgets directly as it would be documented above.
Fl::delete_widget() was only *necessary* in 1.1.5 and later and
should never be required since 1.3.x.
Comments are owned by the poster. All other content is copyright 1998-2025 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.