3 virtual GUID get_guid() = 0;
4 virtual GUID get_parent() = 0;
5 virtual t_uint32 get_sort_priority() = 0;
23 flag_radiochecked = 1<<2,
26 flag_defaulthidden = 1<<3,
27 sort_priority_base = 0x10000,
28 sort_priority_dontcare = 0x80000000,
29 sort_priority_last = ~0,
33 virtual t_uint32 get_command_count() = 0;
41 virtual GUID get_parent() = 0;
51 static bool g_find_by_name(
const char * p_name,
GUID & p_guid);
59 flag_show_shortcuts = 1 << 0,
60 flag_show_shortcuts_global = 1 << 1,
63 flag_view_reduced = 1 << 2,
66 flag_view_full = 1 << 3,
69 virtual void instantiate(
const GUID & p_root) = 0;
97 enum {priority_edit_part1,priority_edit_part2,priority_edit_part3};
98 enum {priority_edit_part2_commands,priority_edit_part2_selection,priority_edit_part2_sort};
99 enum {priority_edit_part2_selection_commands,priority_edit_part2_selection_sort};
151 type_group,type_command,type_separator
157 virtual t_size get_children_count() = 0;
159 virtual ptr get_child(
t_size index) = 0;
163 virtual GUID get_guid() = 0;
209 virtual bool is_command_dynamic(
t_uint32 index) = 0;
211 virtual mainmenu_node::ptr dynamic_instantiate(
t_uint32 index) = 0;
virtual bool get_description(pfc::string_base &out)
Valid only if type is type_command.
mainmenu_group_popup_impl(const GUID &p_guid, const GUID &p_parent, t_uint32 p_priority, const char *p_name)
void execute(service_ptr_t< service_base >)
Valid only if type is type_command.
static const GUID edit_part3
t_uint32 get_sort_priority()
void get_display_string(pfc::string_base &p_out)
void get_name(pfc::string_base &out)
GUID get_guid()
Valid only if type is type_command.
t_size get_children_count()
Valid only if type is type_group.
void execute(service_ptr_t< service_base > callback)
Valid only if type is type_command.
mainmenu_group_impl(const GUID &p_guid, const GUID &p_parent, t_uint32 p_priority)
virtual bool get_display(t_uint32 p_index, pfc::string_base &p_text, t_uint32 &p_flags)
Retrieves display string and display flags to use when menu is about to be displayed. If returns false, menu item won't be displayed. You can create keyboard-shortcut-only commands by always returning false from get_display().
ptr get_child(t_size index)
Valid only if type is type_group.
void get_display(pfc::string_base &text, t_uint32 &flags)
static const GUID library_refresh
static const GUID view_visualisations
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
GUID get_guid()
Valid only if type is type_command.
t_size get_children_count()
Valid only if type is type_group.
static const GUID file_etc_preferences
mainmenu_group_popup_factory(const GUID &p_guid, const GUID &p_parent, t_uint32 p_priority, const char *p_name)
static const GUID file_playlist
static const GUID playback_etc
ptr get_child(t_size index)
Valid only if type is type_group.
t_uint32 get_sort_priority()
Autopointer class to be used with all services. Manages reference counter calls behind-the-scenes.
static const GUID help_about
virtual t_uint32 get_sort_priority()
Retrieves sorting priority of the command; the lower the number, the upper in the menu your commands ...
static const GUID edit_part2_sort
mainmenu_group_factory(const GUID &p_guid, const GUID &p_parent, t_uint32 p_priority)