mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-07 09:04:30 +00:00
WindowServer: Give menu items an identifier field and add a simple callback.
Eventually these identifiers will be sent to the userspace client who created the menu. None of that is hooked up yet though.
This commit is contained in:
@@ -107,7 +107,23 @@ void WSMenu::on_window_message(WSMessage& message)
|
||||
return;
|
||||
m_hovered_item = item;
|
||||
redraw();
|
||||
return;
|
||||
}
|
||||
|
||||
if (message.type() == WSMessage::MouseUp) {
|
||||
if (!m_hovered_item)
|
||||
return;
|
||||
did_activate(*m_hovered_item);
|
||||
m_hovered_item = nullptr;
|
||||
redraw();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void WSMenu::did_activate(WSMenuItem& item)
|
||||
{
|
||||
if (on_item_activation)
|
||||
on_item_activation(item);
|
||||
}
|
||||
|
||||
WSMenuItem* WSMenu::item_at(const Point& position)
|
||||
|
||||
Reference in New Issue
Block a user