----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 2006-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 package defines the base class for all items that can be added into -- a toolbar (see gtk-toolbar.ads). -- See also Gtk.Tool_Button (gtk-tool_button.ads). -- See also Gtk.Separator_Tool_Item (gtk-separator_tool_item). -- -- 2.16.6 -- Menus and Toolbars with Glib.Properties; with Gtk.Bin; with Gtk.Enums; with Gtk.Menu_Item; with Gtk.Tooltips; package Gtk.Tool_Item is type Gtk_Tool_Item_Record is new Gtk.Bin.Gtk_Bin_Record with null record; type Gtk_Tool_Item is access all Gtk_Tool_Item_Record'Class; -------------------- -- Creating items -- -------------------- procedure Gtk_New (Item : out Gtk_Tool_Item); procedure Initialize (Item : access Gtk_Tool_Item_Record'Class); -- Create a new tool item, which contains a single child. function Get_Type return GType; -- Return the internal value associated with a Gtk_Button. procedure Set_Expand (Tool_Item : access Gtk_Tool_Item_Record; Expand : Boolean); function Get_Expand (Tool_Item : access Gtk_Tool_Item_Record) return Boolean; -- Sets whether Tool_Item is allocated extra space when there is more room -- on the toolbar than needed for the items. The effect is that the item -- gets bigger when the toolbar gets bigger. procedure Set_Homogeneous (Tool_Item : access Gtk_Tool_Item_Record; Homogeneous : Boolean); function Get_Homogeneous (Tool_Item : access Gtk_Tool_Item_Record) return Boolean; -- Sets whether Tool_Item is to be allocated the same size as other -- homogeneous items. The effect is that all homogeneous items will have -- the same width as the widest of the items. function Get_Icon_Size (Tool_Item : access Gtk_Tool_Item_Record) return Gtk.Enums.Gtk_Icon_Size; -- Returns the icon size used for Tool_Item. Custom subclasses of -- Gtk_Tool_Item_Record should call this function to find out what size -- icons they should use. This settings depends on the toolbar that -- contains the item procedure Set_Is_Important (Tool_Item : access Gtk_Tool_Item_Record; Is_Important : Boolean); function Get_Is_Important (Tool_Item : access Gtk_Tool_Item_Record) return Boolean; -- Sets whether Tool_Item should be considered important. The -- Gtk_Tool_Button class uses this property to determine whether to show or -- hide its label when the toolbar style is Toolbar_Both_Horiz. The result -- is that only tool buttons with the "is_important" property set have -- labels, an effect known as "priority text". function Get_Orientation (Tool_Item : access Gtk_Tool_Item_Record) return Gtk.Enums.Gtk_Orientation; -- Returns the orientation used for Tool_Item. procedure Set_Proxy_Menu_Item (Tool_Item : access Gtk_Tool_Item_Record; Menu_Item_Id : String; Menu_Item : Gtk.Menu_Item.Gtk_Menu_Item); function Get_Proxy_Menu_Item (Tool_Item : access Gtk_Tool_Item_Record; Menu_Item_Id : String) return Gtk.Menu_Item.Gtk_Menu_Item; -- Sets the menu item used in the toolbar overflow menu. Menu_Item_Id is -- used to identify the caller of this function and should also be used -- with Get_Proxy_Menu_Item. -- Custom subclasses of Gtk_Tool_Item_Record should use this function to -- update their menu item when the tool item changes. -- See also Gtk.Toolbar.Set_Show_Arrow. function Retrieve_Proxy_Menu_Item (Tool_Item : access Gtk_Tool_Item_Record) return Gtk.Menu_Item.Gtk_Menu_Item; -- Returns the menu item that was last set by Set_Proxy_Menu_Item, ie the -- menu item that will appear in the overflow menu. This might be -- different from the one set through Set_Proxy_Menu_Item, if someone else -- has overriden the menu afterward. procedure Rebuild_Menu (Tool_Item : access Gtk_Tool_Item_Record); -- Calling this function signals to the toolbar that the -- overflow menu item for Tool_Item has changed. If the -- overflow menu is visible when this function it called, -- the menu will be rebuilt. procedure Set_Tooltip (Tool_Item : access Gtk_Tool_Item_Record; Tooltips : access Gtk.Tooltips.Gtk_Tooltips_Record'Class; Tip_Text : String; Tip_Private : String := ""); -- Sets the tooltips object to be used for Tool item, the text to be -- displayed as tooltip on the item and the private text to be used procedure Set_Tooltip_Markup (Tool_Item : access Gtk_Tool_Item_Record; Markup : UTF8_String); -- Sets the markup text to be displayed as tooltip on the item. -- See Gtk.Widget.Set_Tooltip_Markup. procedure Set_Tooltip_Text (Tool_Item : access Gtk_Tool_Item_Record; Text : UTF8_String); -- Sets the text to be displayed as tooltip on the item. -- See Gtk.Widget.Set_Tooltip_Text. procedure Set_Visible_Vertical (Toolitem : access Gtk_Tool_Item_Record; Visible_Vertical : Boolean); function Get_Visible_Vertical (Toolitem : access Gtk_Tool_Item_Record) return Boolean; -- Sets whether Toolitem is visible when the toolbar is docked -- vertically. Some tool items, such as text entries, are too wide to be -- useful on a vertically docked toolbar. If visible_vertical is False -- Toolitem will not appear on toolbars that are docked vertically. procedure Set_Visible_Horizontal (Toolitem : access Gtk_Tool_Item_Record; Visible_Horizontal : Boolean); function Get_Visible_Horizontal (Toolitem : access Gtk_Tool_Item_Record) return Boolean; -- Same as Set_Visible_Vertical, but for a horizontal orientation procedure Set_Use_Drag_Window (Toolitem : access Gtk_Tool_Item_Record; Use_Drag_Window : Boolean); function Get_Use_Drag_Window (Toolitem : access Gtk_Tool_Item_Record) return Boolean; -- Sets whether Toolitem has a drag window. When True the -- toolitem can be used as a drag source through gtk_drag_source_set(). -- When Toolitem has a drag window it will intercept all events, -- even those that would otherwise be sent to a child of Toolitem. function Get_Relief_Style (Tool_Item : access Gtk_Tool_Item_Record) return Gtk.Enums.Gtk_Relief_Style; -- Get the relief style of the item function Get_Toolbar_Style (Tool_Item : access Gtk_Tool_Item_Record) return Gtk.Enums.Gtk_Toolbar_Style; -- Get the style of the toolbar that contains the item procedure Toolbar_Reconfigured (Tool_Item : access Gtk_Tool_Item_Record); -- Emits the signal #GtkToolItem::toolbar_reconfigured on Tool_Item. -- Gtk_Toolbar and other Gtk_Tool_Shell implementations use this function -- to notify children when some aspect of their configuration changes. ---------------- -- Properties -- ---------------- -- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties. -- -- - Name: Visible_Horizontal_Property -- Type: Boolean -- See : Set_Visible_Horizontal -- -- - Name: Visible_Vertical_Property -- Type: Boolean -- See : Set_Visible_Vertical -- -- - Name: Is_Important_Property -- Type: Boolean -- See : Set_Is_Important -- -- Visible_Horizontal_Property : constant Glib.Properties.Property_Boolean; Visible_Vertical_Property : constant Glib.Properties.Property_Boolean; Is_Important_Property : constant Glib.Properties.Property_Boolean; ------------- -- Signals -- ------------- -- -- The following new signals are defined for this widget: -- -- - "create_menu_proxy" -- function Handler -- (Item : access Gtk_Tool_Item_Record'Class) return Boolean; -- Emitted when the toolbar needs information from the item about whether -- the item should appear in the toolbar overflow menu. In response, the -- item should either: -- - call Set_Proxy_Menu_Item with a null parameter, and return True, -- to indicate that the item should not appear -- - call Set_Proxy_Menu_Item with a new menu item, and return True -- - return False to indicate that the signal wasn't handled. The item -- will not appear in the overflow menu unless a later handler -- installs a menu item -- The toolbar may cache the result of this signal. See Rebuild_Menu to -- invalidate the cache. -- -- - "toolbar_reconfigured" -- procedure Handler (Item : access Gtk_Tool_Item_Record'Class); -- Emitted when some property of the toolbar that Item belongs to has -- changed. -- -- - "set_tooltip" -- function Handler -- (Item : access Gtk_Tool_Item_Record'Class; -- Tooltips : access Gtk_Tooltips_Record'Class; -- Tip : String; -- Tip_Private : String) return Boolean; -- Emitted when the item's tooltip has changed through Set_Tooltip. -- Should return True if the signal was handled. -- -- Signal_Create_Menu_Proxy : constant Glib.Signal_Name := "create_menu_proxy"; Signal_Toolbar_Reconfigured : constant Glib.Signal_Name := "toolbar_reconfigured"; Signal_Set_Tooltip : constant Glib.Signal_Name := "set_tooltip"; private pragma Import (C, Get_Type, "gtk_tool_item_get_type"); Visible_Horizontal_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("visible-horizontal"); Visible_Vertical_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("visible-vertical"); Is_Important_Property : constant Glib.Properties.Property_Boolean := Glib.Properties.Build ("is-important"); end Gtk.Tool_Item;