From 0f3619ba0e725a6a9d57b9da328f3b1e2a0cd150 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Tue, 25 May 2021 17:41:00 +0200 Subject: Reimplement Fl_Group::delete_child(int) for Fl_Scroll --- src/Fl_Scroll.cxx | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src') diff --git a/src/Fl_Scroll.cxx b/src/Fl_Scroll.cxx index 6d754d134..f0dab47fa 100644 --- a/src/Fl_Scroll.cxx +++ b/src/Fl_Scroll.cxx @@ -44,6 +44,33 @@ void Fl_Scroll::fix_scrollbar_order() { } } + +/** + Removes the widget at \p index from the group and deletes it. + + This method does nothing if \p index is out of bounds or + if Fl_Group::child(index) is one of the scrollbars. + + \param[in] index index of child to be removed + + \returns success (0) or error code + \retval 0 success + \retval 1 index out of range + \retval 2 widget not allowed to be removed (see note) + + \see Fl_Group::delete_child() + + \since FLTK 1.4.0 +*/ +int Fl_Scroll::delete_child(int index) { + if (index < 0 || index >= children()) + return 1; + Fl_Widget *w = child(index); + if (w == &scrollbar || w == &hscrollbar) + return 2; // can't delete scrollbars + return Fl_Group::delete_child(index); +} + // Draw widget's background and children within a specific clip region // So widget can just redraw damaged parts. // -- cgit v1.2.3