Toc Gallery Index Tree Gtk.Menu_Item

Hierarchy

Description

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.

Types

  • type Gtk_Menu_Item is access all Gtk_Menu_Item_Record'Class;
  • type Gtk_Menu_Item_Record is new Item.Gtk_Item_Record with private;

Subprograms

  • procedure Gtk_New (Menu_Item : out Gtk_Menu_Item; Label : UTF8_String := "");
    procedure Initialize (Menu_Item : access Gtk_Menu_Item_Record'Class; Label : UTF8_String);
    Creates or initializes a new menu item containing a simple label.
  • procedure Gtk_New_With_Mnemonic (Menu_Item : out Gtk_Menu_Item; Label : UTF8_String);
    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.

  • 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);
    function Get_Submenu (Menu_Item : access Gtk_Menu_Item_Record) return Gtk.Widget.Gtk_Widget;
    Set or Get the submenu underneath Menu_Item.
  • procedure Remove_Submenu (Menu_Item : access Gtk_Menu_Item_Record);
    Remove the menu_item's submenu
  • 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;
    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.)
  • 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).
  • Signals

  • procedure Gtk_Select (Menu_Item : access Gtk_Menu_Item_Record);
    Emits the "select" signal on Menu_Item
  • procedure Deselect (Menu_Item : access Gtk_Menu_Item_Record);
    Emits the "deselect" signal on Menu_Item
  • procedure Activate (Menu_Item : access Gtk_Menu_Item_Record);
    Emits the "activate" signal on Menu_Item
  • 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
  • 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

Signals

  • activate
    procedure Handler (Menu_Item : access Gtk_Menu_Item_Record'Class);
    Emitted when the menu item has been activated, ie the user has clicked on it (or use a key shortcut for this)
  • activate_item
    procedure Handler (Menu_Item : access Gtk_Menu_Item_Record'Class);
    ???
  • toggle_size_allocate
    procedure Handler (Menu_Item : access Gtk_Menu_Item_Record'Class; Allocation : Gtk_Allocation_Request);
    You should emit this signal to allocate a specific size for the item. In practice, you will not need to do this yourself, since gtk+ takes care of it correctly most of the time.
  • toggle_size_request
    procedure Handler (Menu_Item : access Gtk_Menu_Item_Record'Class; Request : Gtk_Requisition_Access);
    Query the menu item to ask for its preferred size (this might not be the one actually allocated for it, depending on screen space)

Properties

Alphabetical Index