1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:28:12 +00:00

LibGUI: Add GAction class and make GMenu deal in actions rather than strings.

This commit is contained in:
Andreas Kling 2019-02-12 14:09:48 +01:00
parent a5a7ea3d1e
commit 3085e400bc
9 changed files with 103 additions and 43 deletions

View file

@ -4,6 +4,8 @@
#include <AK/Function.h>
#include <AK/Vector.h>
class GAction;
class GMenu {
public:
explicit GMenu(const String& name);
@ -11,7 +13,9 @@ public:
static GMenu* from_menu_id(int);
void add_item(unsigned identifier, const String& text);
GAction* action_at(size_t);
void add_action(OwnPtr<GAction>&&);
void add_separator();
Function<void(unsigned)> on_item_activation;
@ -23,5 +27,5 @@ private:
int m_menu_id { 0 };
String m_name;
Vector<GMenuItem> m_items;
Vector<OwnPtr<GMenuItem>> m_items;
};