diff --git a/libs/ui/include/psemek/ui/container_impl.hpp b/libs/ui/include/psemek/ui/container_impl.hpp index 293b15a1..5fa8e7c4 100644 --- a/libs/ui/include/psemek/ui/container_impl.hpp +++ b/libs/ui/include/psemek/ui/container_impl.hpp @@ -28,6 +28,8 @@ namespace psemek::ui std::shared_ptr remove(element * c); std::shared_ptr remove(std::size_t index); + void clear(); + protected: element * parent_; std::vector> children_; diff --git a/libs/ui/source/container_impl.cpp b/libs/ui/source/container_impl.cpp index 80fcef05..c2abc707 100644 --- a/libs/ui/source/container_impl.cpp +++ b/libs/ui/source/container_impl.cpp @@ -82,4 +82,13 @@ namespace psemek::ui return c; } + void container_impl::clear() + { + for (std::size_t i = 0; i < children_.size(); ++i) + remove(i); + + children_.clear(); + children_range_.clear(); + } + }