mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 11:35:07 +00:00
LibGUI: Notify widgets when their enabled state changes.
This is done by dispatching a (synchronous) "EnabledChange" event that can be picked up in change_event(). Use this event to kick widgets out of their "being pressed"-type modes if the user is interacting with them while the state is programmatically changed.
This commit is contained in:
parent
e478a2fb0a
commit
d12857fc36
9 changed files with 44 additions and 0 deletions
|
@ -120,6 +120,15 @@ void GSlider::leave_event(CEvent& event)
|
|||
GWidget::leave_event(event);
|
||||
}
|
||||
|
||||
void GSlider::change_event(GEvent& event)
|
||||
{
|
||||
if (event.type() == GEvent::Type::EnabledChange) {
|
||||
if (!is_enabled()))
|
||||
m_dragging = false;
|
||||
}
|
||||
GWidget::change_event(event);
|
||||
}
|
||||
|
||||
void GSlider::set_knob_hovered(bool hovered)
|
||||
{
|
||||
if (m_knob_hovered == hovered)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue