----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 2001-2010, AdaCore -- -- -- -- This library is free software; you can redistribute it and/or -- -- modify it under the terms of the GNU General Public -- -- License as published by the Free Software Foundation; either -- -- version 2 of the License, or (at your option) any later version. -- -- -- -- This library is distributed in the hope that it will be useful, -- -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- -- General Public License for more details. -- -- -- -- You should have received a copy of the GNU General Public -- -- License along with this library; if not, write to the -- -- Free Software Foundation, Inc., 59 Temple Place - Suite 330, -- -- Boston, MA 02111-1307, USA. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ----------------------------------------------------------------------- -- -- This widget works like a normal menu_item, but you can insert a -- arbitrary widget (most often a pixmap widget), which is displayed -- at the left side. The advantage is that indentation is handled the -- same way as GtkAda does (i.e if you create a menu with a -- Gtk_Check_Menu_Item, all normal menu_items are automatically indented by -- GtkAda - so if you use a normal menu_item to display pixmaps at the left -- side, the pixmaps will be indented, which is not what you want. This widget -- solves the problem). -- -- 2.16.6 -- Menus and Toolbars with Glib.Properties; with Gtk.Accel_Group; with Gtk.Menu_Item; with Gtk.Widget; package Gtk.Image_Menu_Item is type Gtk_Image_Menu_Item_Record is new Gtk.Menu_Item.Gtk_Menu_Item_Record with private; type Gtk_Image_Menu_Item is access all Gtk_Image_Menu_Item_Record'Class; procedure Gtk_New (Widget : out Gtk_Image_Menu_Item; Label : UTF8_String); -- Create a new Gtk_Image_Menu_Item. -- If label is non null, set the label of the menu item. procedure Gtk_New_From_Stock (Widget : out Gtk_Image_Menu_Item; Stock_Id : String); -- Create a new Gtk_Image_Menu_Item from a stock item. procedure Gtk_New (Widget : out Gtk_Image_Menu_Item; Stock_Id : String; Accel_Group : Gtk.Accel_Group.Gtk_Accel_Group); -- Create a new Gtk_Image_Menu_Item with a label. -- If label contains an underscore, a mnemonic is created accordingly. procedure Gtk_New_With_Mnemonic (Widget : out Gtk_Image_Menu_Item; Label : UTF8_String); -- Create a new Gtk_Image_Menu_Item with a label. -- If label contains an underscore, a mnemonic is created accordingly. procedure Initialize (Widget : access Gtk_Image_Menu_Item_Record'Class; Label : UTF8_String); -- Internal initialization function. -- See the section "Creating your own widgets" in the documentation. procedure Initialize (Widget : access Gtk_Image_Menu_Item_Record'Class; Stock_Id : String; Accel_Group : Gtk.Accel_Group.Gtk_Accel_Group); -- ditto. procedure Initialize_With_Mnemonic (Widget : access Gtk_Image_Menu_Item_Record'Class; Label : UTF8_String); -- ditto. procedure Initialize_From_Stock (Widget : access Gtk_Image_Menu_Item_Record'Class; Stock_Id : String); -- ditto. function Get_Type return Gtk.Gtk_Type; -- Return the internal value associated with this widget. procedure Set_Image (Menu_Item : access Gtk_Image_Menu_Item_Record; Image : access Gtk.Widget.Gtk_Widget_Record'Class); function Get_Image (Menu_Item : access Gtk_Image_Menu_Item_Record) return Gtk.Widget.Gtk_Widget; procedure Set_Accel_Group (Image_Menu_Item : access Gtk_Image_Menu_Item_Record'Class; Accel_Group : access Gtk.Accel_Group.Gtk_Accel_Group_Record'Class); -- Specifies an Accel_Group to add the menu items accelerator to. -- This only applies to stock items, so a stock item must already -- be set. Make sure to call Set_Use_Stock and Gtk.Menu_Item.Set_Label -- with a valid stock item first. -- -- If you want this menu item to have changeable accelerators then -- you shouldn't need this (see Gtk_New_From_Stock). function Get_Always_Show_Image (Image_Menu_Item : access Gtk_Image_Menu_Item_Record'Class) return Boolean; procedure Set_Always_Show_Image (Image_Menu_Item : access Gtk_Image_Menu_Item_Record'Class; Always_Show : Boolean); -- If True, the menu item will ignore the GtkSettings:gtk-menu-images -- setting and always show the image, if available. -- -- Use this property if the menuitem would be useless or hard to use -- without the image. function Get_Use_Stock (Image_Menu_Item : access Gtk_Image_Menu_Item_Record'Class) return Boolean; procedure Set_Use_Stock (Image_Menu_Item : access Gtk_Image_Menu_Item_Record'Class; Use_Stock : Boolean); -- If True, the label set in the Image_Menu_Item is used as a -- stock id to select the stock item for the item. ---------------- -- Properties -- ---------------- -- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties. -- -- Name: Accel_Group_Property -- Type: Object -- Descr: The Accel Group to use for stock accelerator keys -- -- Name: Always_Show_Image_Property -- Type: Boolean -- Descr: Whether the image will always be shown -- -- Name: Image_Property -- Type: Object -- Descr: Child widget to appear next to the menu text -- -- Name: Use_Stock_Property -- Type: Boolean -- Descr: Whether to use the label text to create a stock menu item -- -- Accel_Group_Property : constant Glib.Properties.Property_Object; Always_Show_Image_Property : constant Glib.Properties.Property_Boolean; Image_Property : constant Glib.Properties.Property_Object; Use_Stock_Property : constant Glib.Properties.Property_Boolean; ------------- -- Signals -- ------------- -- -- The following new signals are defined for this widget: -- -- private type Gtk_Image_Menu_Item_Record is new Gtk.Menu_Item.Gtk_Menu_Item_Record with null record; Accel_Group_Property : constant Glib.Properties.Property_Object := Glib.Properties.Build ("accel-group"); Always_Show_Image_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("always-show-image"); Image_Property : constant Glib.Properties.Property_Object := Glib.Properties.Build ("image"); Use_Stock_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("use-stock"); pragma Import (C, Get_Type, "gtk_image_menu_item_get_type"); end Gtk.Image_Menu_Item;