[Contents] [Back] [Prev] [Up] [Next] [Forward]

# Package Gtk.Menu`_`Shell

This widget is a base class for all menu widgets. It contains a list of items that can be navigated, selected and activated by the user. It can not be instantiated directly.

A menu is considered "active" when it is displayed on the screen, or, in the case of a menu_bar when one of its menus is active.

An item is "selected" if it is displayed in a prelight state and its submenu (if any) displayed.

- Gtk.Menu_Shell Widget Hierarchy
- Gtk.Menu_Shell Signals
- Gtk.Menu_Shell Types
- Gtk.Menu_Shell Subprograms

## Widget Hierarchy

    Gtk_Object                    (see section Package Gtk.Object)
       \___ Gtk_Widget            (see section Package Gtk.Widget)
          \___ Gtk_Container      (see section Package Gtk.Container)
             \___ Gtk_Menu_Shell  (see section Package Gtk.Menu_Shell)

## Signals

- "activate_current" procedure Handler (Menu_Shell : access Gtk_Menu_Shell_Record'Class;
  Force_Hide : Gboolean);
  Activates the current menu item within the Menu_Shell. if Force_Hide is True, hide the menu afterwards.
- "cancel" procedure Handler (Menu_Shell : access Gtk_Menu_Shell_Record'Class);
  Cancels the selection within the menu_shell. Causes a "selection-done" signal to be emitted.
- "deactivate" procedure Handler (Menu_Shell : access Gtk_Menu_Shell_Record'Class);
  Emitted when the menu is deactivated, ie is erased from the screen.
- "move_current" procedure Handler (Menu_Shell : access Gtk_Menu_Shell_Record'Class;
  Direction : Gtk_Menu_Direction_Type);
  An action signal which selects another menu item (given by direction). In a menu, this is bound by default to the arrow keys to move the the selection.
- "selection-done" procedure Handler (Menu_Shell : access Gtk_Menu_Shell_Record'Class);
  Emitted when an item has been selected. The menu shell might not be activated when the signal is emitted.

## Types

    type Gtk_Menu_Direction_Type is
        (Menu_Dir_Parent,
         Menu_Dir_Child,
         Menu_Dir_Next,
         Menu_Dir_Prev);

| Direction where to move the selection. See the signal "selection-done" below.

## Subprograms

    procedure Append
      (Menu_Shell         : access Gtk_Menu_Shell_Record;
       Child              : access Gtk_Menu_Item_Record'Class);

| Add a new item at the end of the menu.

    procedure Prepend
      (Menu_Shell         : access Gtk_Menu_Shell_Record;
       Child              : access Gtk_Menu_Item_Record'Class);

| Add a new item at the beginning of the menu

    procedure Insert
      (Menu_Shell         : access Gtk_Menu_Shell_Record;
       Child              : access Gtk_Menu_Item_Record'Class;
       Position           : in     Gint);

| Add a new item at a specific position in the menu. The first item is at position 0. To insert as the last item in the menu, set Position to -1.

    procedure Select_Item
      (Menu_Shell         : access Gtk_Menu_Shell_Record;
       Item               : access Gtk_Menu_Item_Record'Class);

| Select a new item in the menu, after deselecting the current item.

    procedure Deselect
      (Menu_Shell         : access Gtk_Menu_Shell_Record);

| Deselect the currently selected item.

    procedure Activate_Item
      (Menu_Shell         : access Gtk_Menu_Shell_Record;
       Item               : access Gtk_Menu_Item_Record'Class;
       Force_Deactivate   :        Boolean);

| Activate the item. If Force_Deactivate is True or the menu_shell sets this property, Menu_Shell and all its parent menus are deactivated and erased from the screen.

    function Get_Type              return Gtk.Gtk_Type;

| Return the internal value associated with a Gtk_Menu_Shell.

### Signals emission

    procedure Deactivate
      (Menu_Shell         : access Gtk_Menu_Shell_Record);

| Emit the "deactivate" signal. This deselects the selected item, ungrabs the mouse and keyboard, and erase the Menu_Shell from the screen.

[Contents] [Back] [Prev] [Up] [Next] [Forward]