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

# Package Gtk.Menu`_`Item

This widget represents one of the lines in a menu, on which the user can click to execute an action. The menu items can be bound to a submenu, so that clicking on them will in fact display the submenu on the screen.

They can also be associated with key shortcuts (called accelerators). See the subprogram Set_Accel_Path, and the subprograms in the package Gtk.Accel_Map.

Activating the proper options in the theme files will allow the user to interactively modify the shortcuts.

- Gtk.Menu_Item Widget Hierarchy
- Gtk.Menu_Item Subprograms

## Widget Hierarchy

    GObject                       (see section Package Glib.Object)
    Gtk_Object                    (see section Package Gtk.Object)
       \___ Gtk_Widget            (see section Package Gtk.Widget)
          \___ Gtk_Container      (see section Package Gtk.Container)
             \___ Gtk_Bin         (see section Package Gtk.Bin)
                \___ Gtk_Item     (see section Package Gtk.Item)
                   \___ Gtk_Menu_Item (see section Package Gtk.Menu_Item)

## Subprograms

    procedure Gtk_New
      (Menu_Item          : out    Gtk_Menu_Item;
       Label              :        UTF8_String := "");

    procedure Gtk_New_With_Mnemonic
      (Menu_Item          : out    Gtk_Menu_Item;
       Label              :        UTF8_String);

Create a new Gtk_Menu_Item containing a label.
The label is created using Gtk.Label.Gtk_New_With_Mnemonic, so underscores in Label indicate the mnemonic for the menu item. Warning: the menu_item will not be properly destroyed when you remove it from its parent menu, if you created it with a non-empty Label. In this case, you first need to destroy the child of the Menu_Item, and then remove it from its parent menu.

    procedure Initialize_With_Mnemonic
      (Menu_Item          : access Gtk_Menu_Item_Record'Class;
       Label              :        UTF8_String);

| Internal initialization procedure.

    function Get_Type              return Gtk.Gtk_Type;

| Return the internal value associated with a Gtk_Menu_Item.

    procedure Set_Submenu
      (Menu_Item          : access Gtk_Menu_Item_Record;
       Submenu            : access Widget.Gtk_Widget_Record'Class);

| Set the submenu underneath Menu_Item.

    function Get_Submenu
      (Menu_Item          : access Gtk_Menu_Item_Record)
       return Gtk.Widget.Gtk_Widget;

| Get the submenu underneath this menu item, if any, null otherwise.

    procedure Remove_Submenu
      (Menu_Item          : access Gtk_Menu_Item_Record);

    procedure Gtk_Select
      (Menu_Item          : access Gtk_Menu_Item_Record);

    procedure Deselect
      (Menu_Item          : access Gtk_Menu_Item_Record);

    procedure Activate
      (Menu_Item          : access Gtk_Menu_Item_Record);

    procedure Right_Justify
      (Menu_Item          : access Gtk_Menu_Item_Record);

| Deprecated. Use Set_Right_Justified with Justify = True instead.

    procedure Set_Right_Justified
      (Menu_Item          : access Gtk_Menu_Item_Record;
       Justify            :        Boolean := True);

    function Get_Right_Justified
      (Menu_Item          : access Gtk_Menu_Item_Record)
       return Boolean;

    procedure Set_Right_Justify
      (Menu_Item          : access Gtk_Menu_Item_Record;
       Justify            :        Boolean);

| This procedure is needed by Gate to automate the code generation.

    procedure Set_Accel_Path
      (Menu_Item          : access Gtk_Menu_Item_Record;
       Accel_Path         :        UTF8_String);

| Set the path that will be used to reference the widget in calls to the subprograms in Gtk.Accel_Map. This means, for instance, that the widget is fully setup for interactive modification of the shortcuts by the user, should he choose to activate this possibility in his themes (see gtk-accel_map.ads for more information).

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