LibGUI: Make the "enabled" widget state propagate to child widgets

This simplifies building composite widgets by not having to worry about
updating widget subtrees.
This commit is contained in:
Andreas Kling 2020-05-08 13:49:58 +02:00
commit 0f0d73d1b5
Notes: sideshowbarker 2024-07-19 06:53:12 +09:00
3 changed files with 6 additions and 11 deletions

View file

@ -616,6 +616,12 @@ void Widget::set_enabled(bool enabled)
if (m_enabled == enabled)
return;
m_enabled = enabled;
for_each_child_widget([enabled](auto& child) {
child.set_enabled(enabled);
return IterationDecision::Continue;
});
Event e(Event::EnabledChange);
event(e);
update();