summaryrefslogtreecommitdiff
path: root/FL/Fl_Widget_Tracker.H
diff options
context:
space:
mode:
Diffstat (limited to 'FL/Fl_Widget_Tracker.H')
-rw-r--r--FL/Fl_Widget_Tracker.H55
1 files changed, 6 insertions, 49 deletions
diff --git a/FL/Fl_Widget_Tracker.H b/FL/Fl_Widget_Tracker.H
index 0a2a5b6da..0af6e0fcd 100644
--- a/FL/Fl_Widget_Tracker.H
+++ b/FL/Fl_Widget_Tracker.H
@@ -76,14 +76,14 @@ class FL_EXPORT Fl_Widget_Tracker {
public:
Fl_Widget_Tracker(Fl_Widget *wi);
- // Rule of five. Note that we *can* implement these when we refactor widget
- // tracking with a C++11 map or unordered_map, for example.
- Fl_Widget_Tracker(const Fl_Widget_Tracker&) = delete;
- Fl_Widget_Tracker(Fl_Widget_Tracker&&) = delete;
- Fl_Widget_Tracker& operator=(const Fl_Widget_Tracker&) = delete;
- Fl_Widget_Tracker& operator=(Fl_Widget_Tracker&&) = delete;
~Fl_Widget_Tracker();
+private:
+ Fl_Widget_Tracker(const Fl_Widget_Tracker&);
+ Fl_Widget_Tracker& operator=(const Fl_Widget_Tracker&);
+
+public:
+
/**
Clear the widget pointer.
*/
@@ -109,47 +109,4 @@ public:
};
-namespace Fl {
-
-/** \defgroup fl_del_widget Safe widget deletion support functions
-
- These functions, declared in <FL/Fl.H>, support deletion of widgets inside callbacks.
-
- Fl::delete_widget() should be called when deleting widgets
- or complete widget trees (Fl_Group, Fl_Window, ...) inside
- callbacks.
-
- The other functions are intended for internal use. The preferred
- way to use them is by using the helper class Fl_Widget_Tracker.
-
- The following is to show how it works ...
-
- There are three groups of related methods:
-
- -# scheduled widget deletion
- - Fl::delete_widget() schedules widgets for deletion
- - Fl::do_widget_deletion() deletes all scheduled widgets
- -# widget watch list ("smart pointers")
- - Fl::watch_widget_pointer() adds a widget pointer to the watch list
- - Fl::release_widget_pointer() removes a widget pointer from the watch list
- - Fl::clear_widget_pointer() clears a widget pointer \e in the watch list
- -# the class Fl_Widget_Tracker:
- - the constructor calls Fl::watch_widget_pointer()
- - the destructor calls Fl::release_widget_pointer()
- - the access methods can be used to test, if a widget has been deleted
- \see Fl_Widget_Tracker.
-
- @{ */
-
-// Widget deletion:
-FL_EXPORT extern void delete_widget(Fl_Widget *w);
-FL_EXPORT extern void do_widget_deletion();
-FL_EXPORT extern void watch_widget_pointer(Fl_Widget *&w);
-FL_EXPORT extern void release_widget_pointer(Fl_Widget *&w);
-FL_EXPORT extern void clear_widget_pointer(Fl_Widget const *w);
-
-/** @} */
-
-} // namespace Fl
-
#endif // !Fl_Widget_Tracker_H