Class
IdeMenuManager
Description
final class Ide.MenuManager : GObject.Object
{
/* No available fields */
}
The goal of IdeMenuManager
is to simplify the process of merging multiple
GtkBuilder .ui files containing menus into a single representation of the
application menus. Additionally, it provides the ability to “unmerge”
previously merged menus.
This allows for an application to have plugins which seemlessly extends the core application menus.
Implementation notes:
To make this work, we don’t use the GMenu instances created by a GtkBuilder
instance. Instead, we create the menus ourself and recreate section and
submenu links. This allows the IdeMenuManager
to be in full control of
the generated menus.
ide_menu_manager_get_menu_by_id()
will always return a GMenu
, however
that menu may contain no children until something has extended it later
on during the application process.
Instance methods
ide_menu_manager_find_item_by_id
Locates a menu item that matches id
and sets the position within
the resulting GMenu
to position
.
ide_menu_manager_remove
This removes items from menus that were added as part of a previous
menu merge. Use the value returned from ide_menu_manager_merge()
as
the merge_id
.
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.