LibCore: Add Object::remove_all_children()

This commit is contained in:
Linus Groh 2020-12-27 17:14:44 +01:00 committed by Andreas Kling
parent ddaedbca87
commit e955c024b2
Notes: sideshowbarker 2024-07-19 00:33:43 +09:00
3 changed files with 8 additions and 4 deletions

View file

@ -46,10 +46,7 @@ int main(int argc, char** argv)
editor.set_automatic_indentation_enabled(true);
editor.on_change = [&] {
// FIXME: This is not a very expressive way to remove all children..
while (!preview.children().is_empty())
preview.children().first().remove_from_parent();
preview.remove_all_children();
preview.load_from_gml(editor.text());
};

View file

@ -130,6 +130,12 @@ void Object::remove_child(Object& object)
ASSERT_NOT_REACHED();
}
void Object::remove_all_children()
{
while (!m_children.is_empty())
m_children.first().remove_from_parent();
}
void Object::timer_event(Core::TimerEvent&)
{
}

View file

@ -105,6 +105,7 @@ public:
void add_child(Object&);
void insert_child_before(Object& new_child, Object& before_child);
void remove_child(Object&);
void remove_all_children();
void dump_tree(int indent = 0);