mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 17:37:34 +00:00
WindowServer: Refactor more of the menu APIs to be message-based.
This is all pretty verbose but I can whittle it down later. :^)
This commit is contained in:
parent
fbbf57b61c
commit
cf432b4c3d
13 changed files with 229 additions and 171 deletions
|
@ -27,6 +27,10 @@ public:
|
|||
__Begin_API_Client_Requests,
|
||||
APICreateMenubarRequest,
|
||||
APIDestroyMenubarRequest,
|
||||
APIAddMenuToMenubarRequest,
|
||||
APISetApplicationMenubarRequest,
|
||||
APICreateMenuRequest,
|
||||
APIDestroyMenuRequest,
|
||||
__End_API_Client_Requests,
|
||||
};
|
||||
|
||||
|
@ -80,6 +84,66 @@ private:
|
|||
int m_menubar_id { 0 };
|
||||
};
|
||||
|
||||
class WSAPISetApplicationMenubarRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPISetApplicationMenubarRequest(int client_id, int menubar_id)
|
||||
: WSAPIClientRequest(WSMessage::APISetApplicationMenubarRequest, client_id)
|
||||
, m_menubar_id(menubar_id)
|
||||
{
|
||||
}
|
||||
|
||||
int menubar_id() const { return m_menubar_id; }
|
||||
|
||||
private:
|
||||
int m_menubar_id { 0 };
|
||||
};
|
||||
|
||||
class WSAPIAddMenuToMenubarRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPIAddMenuToMenubarRequest(int client_id, int menubar_id, int menu_id)
|
||||
: WSAPIClientRequest(WSMessage::APIAddMenuToMenubarRequest, client_id)
|
||||
, m_menubar_id(menubar_id)
|
||||
, m_menu_id(menu_id)
|
||||
{
|
||||
}
|
||||
|
||||
int menubar_id() const { return m_menubar_id; }
|
||||
int menu_id() const { return m_menu_id; }
|
||||
|
||||
private:
|
||||
int m_menubar_id { 0 };
|
||||
int m_menu_id { 0 };
|
||||
};
|
||||
|
||||
class WSAPICreateMenuRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPICreateMenuRequest(int client_id, const String& text)
|
||||
: WSAPIClientRequest(WSMessage::APICreateMenuRequest, client_id)
|
||||
, m_text(text)
|
||||
{
|
||||
}
|
||||
|
||||
String text() const { return m_text; }
|
||||
|
||||
private:
|
||||
String m_text;
|
||||
};
|
||||
|
||||
|
||||
class WSAPIDestroyMenuRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPIDestroyMenuRequest(int client_id, int menu_id)
|
||||
: WSAPIClientRequest(WSMessage::APIDestroyMenuRequest, client_id)
|
||||
, m_menu_id(menu_id)
|
||||
{
|
||||
}
|
||||
|
||||
int menu_id() const { return m_menu_id; }
|
||||
|
||||
private:
|
||||
int m_menu_id { 0 };
|
||||
};
|
||||
|
||||
class WSClientFinishedPaintMessage final : public WSMessage {
|
||||
public:
|
||||
explicit WSClientFinishedPaintMessage(const Rect& rect = Rect())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue