GtkMenuShell a base class for menu objects. A #GtkMenuShell is the abstract base class used to derive the #GtkMenu and #GtkMenuBar subclasses. A #GtkMenuShell is a container of #GtkMenuItem objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions. A #GtkMenuItem can have a submenu associated with it, allowing for nested hierarchical menus. The #GtkMenuShell-struct struct contains the following fields. (These fields should be considered read-only. They should never be set by an application.) #GList *children; The list of #GtkMenuItem objects contained by this #GtkMenuShell. An action signal that activates the current menu item within the menu shell. @menushell: the object which received the signal. @force_hide: if TRUE, hide the menu after activating the menu item. An action signal which cancels the selection within the menu shell. Causes the GtkMenuShell::selection-done signal to be emitted. @menushell: the object which received the signal. @menushell: the object which received the signal. @arg1: This signal is emitted when a menu shell is deactivated. @menushell: the object which received the signal. An action signal which moves the current menu item in the direction specified by @direction. @menushell: the object which received the signal. @direction: the direction to move. This signal is emitted when a selection has been completed within a menu shell. @menushell: the object which received the signal. Adds a new #GtkMenuItem to the end of the menu shell's item list. @menu_shell: a #GtkMenuShell. @child: The #GtkMenuItem to add. Adds a new #GtkMenuItem to the beginning of the menu shell's item list. @menu_shell: a #GtkMenuShell. @child: The #GtkMenuItem to add. Adds a new #GtkMenuItem to the menu shell's item list at the position indicated by @position. @menu_shell: a #GtkMenuShell. @child: The #GtkMenuItem to add. @position: The position in the item list where @child is added. Positions are numbered from 0 to n-1. Deactivates the menu shell. Typically this results in the menu shell being erased from the screen. @menu_shell: a #GtkMenuShell. Selects the menu item from the menu shell. @menu_shell: a #GtkMenuShell. @menu_item: The #GtkMenuItem to select. @menu_shell: @search_sensitive: Deselects the currently selected item from the menu shell, if any. @menu_shell: a #GtkMenuShell. Activates the menu item within the menu shell. @menu_shell: a #GtkMenuShell. @menu_item: The #GtkMenuItem to activate. @force_deactivate: If TRUE, force the deactivation of the menu shell after the menu item is activated. @menu_shell: An enumeration representing directional movements within a menu. GTK_MENU_DIR_PARENT To the parent menu shell. GTK_MENU_DIR_CHILD To the submenu, if any, associated with the item. GTK_MENU_DIR_NEXT To the next menu item. GTK_MENU_DIR_PREV To the previous menu item. @GTK_MENU_DIR_PARENT: @GTK_MENU_DIR_CHILD: @GTK_MENU_DIR_NEXT: @GTK_MENU_DIR_PREV: