mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 05:35:06 +00:00
LibGUI: Simplify submenu construction
The API for adding a submenu to a menu is now: auto& submenu = menu.add_submenu("Name"); submenu.add_action(my_action);
This commit is contained in:
parent
13dcd9a037
commit
f0cde70c18
9 changed files with 57 additions and 65 deletions
|
@ -71,9 +71,11 @@ void Menu::add_action(NonnullRefPtr<Action> action)
|
|||
#endif
|
||||
}
|
||||
|
||||
void Menu::add_submenu(NonnullRefPtr<Menu> submenu)
|
||||
Menu& Menu::add_submenu(const String& name)
|
||||
{
|
||||
m_items.append(make<MenuItem>(m_menu_id, move(submenu)));
|
||||
auto submenu = Menu::construct(name);
|
||||
m_items.append(make<MenuItem>(m_menu_id, submenu));
|
||||
return submenu;
|
||||
}
|
||||
|
||||
void Menu::add_separator()
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
|
||||
void add_action(NonnullRefPtr<Action>);
|
||||
void add_separator();
|
||||
void add_submenu(NonnullRefPtr<Menu>);
|
||||
Menu& add_submenu(const String& name);
|
||||
|
||||
void popup(const Gfx::Point& screen_position);
|
||||
void dismiss();
|
||||
|
|
|
@ -37,7 +37,7 @@ MenuItem::MenuItem(unsigned menu_id, Type type)
|
|||
{
|
||||
}
|
||||
|
||||
MenuItem::MenuItem(unsigned menu_id, NonnullRefPtr<Action>&& action)
|
||||
MenuItem::MenuItem(unsigned menu_id, NonnullRefPtr<Action> action)
|
||||
: m_type(Type::Action)
|
||||
, m_menu_id(menu_id)
|
||||
, m_action(move(action))
|
||||
|
@ -49,7 +49,7 @@ MenuItem::MenuItem(unsigned menu_id, NonnullRefPtr<Action>&& action)
|
|||
m_checked = m_action->is_checked();
|
||||
}
|
||||
|
||||
MenuItem::MenuItem(unsigned menu_id, NonnullRefPtr<Menu>&& submenu)
|
||||
MenuItem::MenuItem(unsigned menu_id, NonnullRefPtr<Menu> submenu)
|
||||
: m_type(Type::Submenu)
|
||||
, m_menu_id(menu_id)
|
||||
, m_submenu(move(submenu))
|
||||
|
|
|
@ -42,8 +42,8 @@ public:
|
|||
};
|
||||
|
||||
MenuItem(unsigned menu_id, Type);
|
||||
MenuItem(unsigned menu_id, NonnullRefPtr<Action>&&);
|
||||
MenuItem(unsigned menu_id, NonnullRefPtr<Menu>&&);
|
||||
MenuItem(unsigned menu_id, NonnullRefPtr<Action>);
|
||||
MenuItem(unsigned menu_id, NonnullRefPtr<Menu>);
|
||||
~MenuItem();
|
||||
|
||||
Type type() const { return m_type; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue