## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Menu_Item

- Goto spec source

# Description

    package Gtk.Menu_Item is

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.

Binding from C File version 2.16.6

# Classes

### Gtk_Menu_Item_Record

- Goto declaration in source
- Goto full declaration in source

    type Gtk_Menu_Item_Record is new Item.Gtk_Item_Record with private;

#### Ancestors:

Gtk.Item.Gtk_Item_Record
Gtk.Bin.Gtk_Bin_Record
Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Immediate Children:

Gtk.Check_Menu_Item.Gtk_Check_Menu_Item_Record
Gtk.Image_Menu_Item.Gtk_Image_Menu_Item_Record
Gtk.Separator_Menu_Item.Gtk_Separator_Menu_Item_Record
Gtk.Tearoff_Menu_Item.Gtk_Tearoff_Menu_Item_Record

#### Primitive operations:

Activate

- To API doc
- To spec

(overriding Gtk.Widget.Activate)
Deselect

- To API doc
- To spec

Get_Accel_Path

- To API doc
- To spec

Get_Label

- To API doc
- To spec

Get_Right_Justified

- To API doc
- To spec

Get_Submenu

- To API doc
- To spec

Get_Use_Underline

- To API doc
- To spec

Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Bin.Get_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Add

- To API doc
- To spec

(Inherited)
Gtk.Container.Check_Resize

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Set_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Type

- To API doc
- To spec

(Inherited)
Gtk.Container.Forall

- To API doc
- To spec

(Inherited)
Gtk.Container.Foreach

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Propagate_Expose

- To API doc
- To spec

(Inherited)
Gtk.Container.Remove

- To API doc
- To spec

(Inherited)
Gtk.Container.Resize_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Reallocate_Redraws

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Unset_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Item.Item_Deselect

- To API doc
- To spec

(Inherited)
Gtk.Item.Item_Select

- To API doc
- To spec

(Inherited)
Gtk.Item.Toggle

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Gtk_Select

- To API doc
- To spec

Remove_Submenu

- To API doc
- To spec

Right_Justify

- To API doc
- To spec

Set_Accel_Path

- To API doc
- To spec

Set_Label

- To API doc
- To spec

Set_Right_Justified

- To API doc
- To spec

Set_Submenu

- To API doc
- To spec

Set_Use_Underline

- To API doc
- To spec

Toggle_Size_Allocate

- To API doc
- To spec

Toggle_Size_Request

- To API doc
- To spec

# Types

### Gtk_Menu_Item

- Goto declaration in source

    type Gtk_Menu_Item is access all Gtk_Menu_Item_Record'Class;

# Constants & Global variables

### Null_Submenu

- Goto declaration in source

(Gtk.Widget.Gtk_Widget)

    Null_Submenu : constant Widget.Gtk_Widget;

### Signal_Activate

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Activate             : constant Glib.Signal_Name :=
                                       "activate";

### Signal_Activate_Item

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Activate_Item        : constant Glib.Signal_Name :=
                                       "activate_item";

### Signal_Toggle_Size_Allocate

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Toggle_Size_Allocate : constant Glib.Signal_Name :=
                                       "toggle_size_allocate";

### Signal_Toggle_Size_Request

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Toggle_Size_Request  : constant Glib.Signal_Name :=
                                       "toggle_size_request";

### Accel_Path_Property

- Goto declaration in source

(Glib.Properties.Property_String)

    Accel_Path_Property      : constant Glib.Properties.Property_String;

### Label_Property

- Goto declaration in source

(Glib.Properties.Property_String)

    Label_Property           : constant Glib.Properties.Property_String;

### Right_Justified_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Right_Justified_Property : constant Glib.Properties.Property_Boolean;

### Submenu_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Submenu_Property         : constant Glib.Properties.Property_Object;

### Use_Underline_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Use_Underline_Property   : constant Glib.Properties.Property_Boolean;

### Arrow_Scaling_Property

- Goto declaration in source

(Glib.Properties.Property_Float)

    Arrow_Scaling_Property : constant Glib.Properties.Property_Float;

### Width_Chars_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Width_Chars_Property   : constant Glib.Properties.Property_Int;

# Subprograms & Entries

### Gtk_New

- Goto spec in source

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

### Initialize

- Goto spec in source

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

Creates or initializes a new menu item containing a simple label.

### Gtk_New_With_Mnemonic

- Goto spec in source

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

### Initialize_With_Mnemonic

- Goto spec in source

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

Creates or initializes 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: with some versions of gtk+, 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.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Gtk.Gtk_Type;

Return the internal value associated with a Gtk_Menu_Item.

### Set_Submenu

- Goto spec in source

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

### Get_Submenu

- Goto spec in source

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

Set or Get the submenu underneath Menu_Item.

### Set_Label

- Goto spec in source

    procedure Set_Label (Menu_Item: access Gtk_Menu_Item_Record;Label: String);

### Get_Label

- Goto spec in source

    function Get_Label (Menu_Item: access Gtk_Menu_Item_Record) return String;

Controls the text in Menu_Item's label.

### Set_Right_Justified

- Goto spec in source

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

### Get_Right_Justified

- Goto spec in source

    function Get_Right_Justified (Menu_Item: access Gtk_Menu_Item_Record) return Boolean;

Sets whether the menu item appears justified at the right side of a menu bar. This was traditionally done for "Help" menu items, but is now considered a bad idea. (If the widget layout is reversed for a right-to-left language like Hebrew or Arabic, right-justified-menu-items appear at the left.)

### Set_Use_Underline

- Goto spec in source

    procedure Set_Use_Underline (Menu_Item: access Gtk_Menu_Item_Record;Setting: Boolean);

### Get_Use_Underline

- Goto spec in source

    function Get_Use_Underline (Menu_Item: access Gtk_Menu_Item_Record) return Boolean;

If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

### Set_Accel_Path

- Goto spec in source

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

### Get_Accel_Path

- Goto spec in source

    function Get_Accel_Path (Menu_Item: access Gtk_Menu_Item_Record) return 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).

### Remove_Submenu

- Goto spec in source

    procedure Remove_Submenu (Menu_Item: access Gtk_Menu_Item_Record);

Remove_Submenu Remove the menu_item's submenu Deprecated: 2.12: Remove_Submenu deprecated and should not be used in newly written code. Use Set_Submenu instead.

### Set_Right_Justify

- Goto spec in source

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

pragma Obsolescent; This procedure is needed by Gate to automate the code generation.

### Right_Justify

- Goto spec in source

    procedure Right_Justify (Menu_Item: access Gtk_Menu_Item_Record);

### Gtk_Select

- Goto spec in source

    procedure Gtk_Select (Menu_Item: access Gtk_Menu_Item_Record);

Emits the "select" signal on Menu_Item

### Deselect

- Goto spec in source

    procedure Deselect (Menu_Item: access Gtk_Menu_Item_Record);

Emits the "deselect" signal on Menu_Item

### Activate

- Goto spec in source

    procedure Activate (Menu_Item: access Gtk_Menu_Item_Record);

Emits the "activate" signal on Menu_Item

### Toggle_Size_Allocate

- Goto spec in source

    procedure Toggle_Size_Allocate (Menu_Item: access Gtk_Menu_Item_Record;Allocation: Gtk.Widget.Gtk_Allocation);

Emits the "toggle_size_allocate" signal on Menu_Item

### Toggle_Size_Request

- Goto spec in source

    procedure Toggle_Size_Request (Menu_Item: access Gtk_Menu_Item_Record;Requisition: out Gtk.Widget.Gtk_Requisition);

Emits the "toggle_size_request" signal on Menu_Item