1. ------------------------------------------------------------------------------ 
  2. --                                                                          -- 
  3. --      Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet       -- 
  4. --                     Copyright (C) 2000-2014, AdaCore                     -- 
  5. --                                                                          -- 
  6. -- This library is free software;  you can redistribute it and/or modify it -- 
  7. -- under terms of the  GNU General Public License  as published by the Free -- 
  8. -- Software  Foundation;  either version 3,  or (at your  option) any later -- 
  9. -- version. This library is distributed in the hope that it will be useful, -- 
  10. -- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- -- 
  11. -- TABILITY or FITNESS FOR A PARTICULAR PURPOSE.                            -- 
  12. --                                                                          -- 
  13. -- As a special exception under Section 7 of GPL version 3, you are granted -- 
  14. -- additional permissions described in the GCC Runtime Library Exception,   -- 
  15. -- version 3.1, as published by the Free Software Foundation.               -- 
  16. --                                                                          -- 
  17. -- You should have received a copy of the GNU General Public License and    -- 
  18. -- a copy of the GCC Runtime Library Exception along with this program;     -- 
  19. -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    -- 
  20. -- <http://www.gnu.org/licenses/>.                                          -- 
  21. --                                                                          -- 
  22. ------------------------------------------------------------------------------ 
  23.  
  24. --  <description> 
  25. --  A Gtk.Tool_Palette.Gtk_Tool_Palette allows you to add 
  26. --  Gtk.Tool_Item.Gtk_Tool_Item<!-- -->s to a palette-like container with 
  27. --  different categories and drag and drop support. 
  28. -- 
  29. --  A Gtk.Tool_Palette.Gtk_Tool_Palette is created with a call to 
  30. --  Gtk.Tool_Palette.Gtk_New. 
  31. -- 
  32. --  Gtk.Tool_Item.Gtk_Tool_Item<!-- -->s cannot be added directly to a 
  33. --  Gtk.Tool_Palette.Gtk_Tool_Palette - instead they are added to a 
  34. --  Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which can than be added to a 
  35. --  Gtk.Tool_Palette.Gtk_Tool_Palette. To add a 
  36. --  Gtk.Tool_Item_Group.Gtk_Tool_Item_Group to a 
  37. --  Gtk.Tool_Palette.Gtk_Tool_Palette, use Gtk.Container.Add. 
  38. -- 
  39. --  |[ GtkWidget *palette, *group; GtkToolItem *item; 
  40. -- 
  41. --  palette = gtk_tool_palette_new (); group = gtk_tool_item_group_new 
  42. --  (_("Test Category")); gtk_container_add (GTK_CONTAINER (palette), group); 
  43. -- 
  44. --  item = gtk_tool_button_new_from_stock (GTK_STOCK_OK); 
  45. --  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1); ]| 
  46. -- 
  47. --  The easiest way to use drag and drop with 
  48. --  Gtk.Tool_Palette.Gtk_Tool_Palette is to call Gtk.Tool_Palette.Add_Drag_Dest 
  49. --  with the desired drag source Palette and the desired drag target Widget. 
  50. --  Then Gtk.Tool_Palette.Get_Drag_Item can be used to get the dragged item in 
  51. --  the Gtk.Widget.Gtk_Widget::drag-data-received signal handler of the drag 
  52. --  target. 
  53. -- 
  54. --  |[ static void passive_canvas_drag_data_received (GtkWidget *widget, 
  55. --  GdkDragContext *context, gint x, gint y, GtkSelectionData *selection, guint 
  56. --  info, guint time, gpointer data) { GtkWidget *palette; GtkWidget *item; 
  57. -- 
  58. --  /<!-- -->* Get the dragged item *<!-- -->/ palette = 
  59. --  gtk_widget_get_ancestor (gtk_drag_get_source_widget (context), 
  60. --  GTK_TYPE_TOOL_PALETTE); if (palette != NULL) item = 
  61. --  gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette), selection); 
  62. -- 
  63. --  /<!-- -->* Do something with item *<!-- -->/ } 
  64. -- 
  65. --  GtkWidget *target, palette; 
  66. -- 
  67. --  palette = gtk_tool_palette_new (); target = gtk_drawing_area_new (); 
  68. -- 
  69. --  g_signal_connect (G_OBJECT (target), "drag-data-received", G_CALLBACK 
  70. --  (passive_canvas_drag_data_received), NULL); gtk_tool_palette_add_drag_dest 
  71. --  (GTK_TOOL_PALETTE (palette), target, GTK_DEST_DEFAULT_ALL, 
  72. --  GTK_TOOL_PALETTE_DRAG_ITEMS, GDK_ACTION_COPY); ]| 
  73. -- 
  74. --  </description> 
  75. pragma Ada_2005; 
  76.  
  77. pragma Warnings (Off, "*is already use-visible*"); 
  78. with Gdk.Drag_Contexts;       use Gdk.Drag_Contexts; 
  79. with Glib;                    use Glib; 
  80. with Glib.Generic_Properties; use Glib.Generic_Properties; 
  81. with Glib.Properties;         use Glib.Properties; 
  82. with Glib.Types;              use Glib.Types; 
  83. with Gtk.Adjustment;          use Gtk.Adjustment; 
  84. with Gtk.Buildable;           use Gtk.Buildable; 
  85. with Gtk.Container;           use Gtk.Container; 
  86. with Gtk.Enums;               use Gtk.Enums; 
  87. with Gtk.Orientable;          use Gtk.Orientable; 
  88. with Gtk.Scrollable;          use Gtk.Scrollable; 
  89. with Gtk.Selection_Data;      use Gtk.Selection_Data; 
  90. with Gtk.Target_Entry;        use Gtk.Target_Entry; 
  91. with Gtk.Tool_Item;           use Gtk.Tool_Item; 
  92. with Gtk.Tool_Item_Group;     use Gtk.Tool_Item_Group; 
  93. with Gtk.Widget;              use Gtk.Widget; 
  94.  
  95. package Gtk.Tool_Palette is 
  96.  
  97.    type Gtk_Tool_Palette_Record is new Gtk_Container_Record with null record; 
  98.    type Gtk_Tool_Palette is access all Gtk_Tool_Palette_Record'Class; 
  99.  
  100.    type Gtk_Dest_Defaults is mod 2 ** Integer'Size; 
  101.    pragma Convention (C, Gtk_Dest_Defaults); 
  102.    --  The Gtk.Tool_Palette.Gtk_Dest_Defaults enumeration specifies the 
  103.    --  various types of action that will be taken on behalf of the user for a 
  104.    --  drag destination site. 
  105.  
  106.    Dest_Default_Motion : constant Gtk_Dest_Defaults := 1; 
  107.    Dest_Default_Highlight : constant Gtk_Dest_Defaults := 2; 
  108.    Dest_Default_Drop : constant Gtk_Dest_Defaults := 4; 
  109.    Dest_Default_All : constant Gtk_Dest_Defaults := 7; 
  110.  
  111.    type Gtk_Tool_Palette_Drag_Targets is mod 2 ** Integer'Size; 
  112.    pragma Convention (C, Gtk_Tool_Palette_Drag_Targets); 
  113.    --  Flags used to specify the supported drag targets. 
  114.  
  115.    Tool_Palette_Drag_Items : constant Gtk_Tool_Palette_Drag_Targets := 1; 
  116.    Tool_Palette_Drag_Groups : constant Gtk_Tool_Palette_Drag_Targets := 2; 
  117.  
  118.    ---------------------------- 
  119.    -- Enumeration Properties -- 
  120.    ---------------------------- 
  121.  
  122.    package Gtk_Dest_Defaults_Properties is 
  123.       new Generic_Internal_Discrete_Property (Gtk_Dest_Defaults); 
  124.    type Property_Gtk_Dest_Defaults is new Gtk_Dest_Defaults_Properties.Property; 
  125.  
  126.    package Gtk_Tool_Palette_Drag_Targets_Properties is 
  127.       new Generic_Internal_Discrete_Property (Gtk_Tool_Palette_Drag_Targets); 
  128.    type Property_Gtk_Tool_Palette_Drag_Targets is new Gtk_Tool_Palette_Drag_Targets_Properties.Property; 
  129.  
  130.    ------------------ 
  131.    -- Constructors -- 
  132.    ------------------ 
  133.  
  134.    procedure Gtk_New (Self : out Gtk_Tool_Palette); 
  135.    procedure Initialize 
  136.       (Self : not null access Gtk_Tool_Palette_Record'Class); 
  137.    --  Creates a new tool palette. 
  138.    --  Since: gtk+ 2.20 
  139.  
  140.    function Gtk_Tool_Palette_New return Gtk_Tool_Palette; 
  141.    --  Creates a new tool palette. 
  142.    --  Since: gtk+ 2.20 
  143.  
  144.    function Get_Type return Glib.GType; 
  145.    pragma Import (C, Get_Type, "gtk_tool_palette_get_type"); 
  146.  
  147.    ------------- 
  148.    -- Methods -- 
  149.    ------------- 
  150.  
  151.    procedure Add_Drag_Dest 
  152.       (Self    : not null access Gtk_Tool_Palette_Record; 
  153.        Widget  : not null access Gtk.Widget.Gtk_Widget_Record'Class; 
  154.        Flags   : Gtk_Dest_Defaults; 
  155.        Targets : Gtk_Tool_Palette_Drag_Targets; 
  156.        Actions : Gdk.Drag_Contexts.Gdk_Drag_Action); 
  157.    --  Sets Palette as drag source (see Gtk.Tool_Palette.Set_Drag_Source) and 
  158.    --  sets Widget as a drag destination for drags from Palette. See 
  159.    --  gtk_drag_dest_set. 
  160.    --  Since: gtk+ 2.20 
  161.    --  "widget": a Gtk.Widget.Gtk_Widget which should be a drag destination 
  162.    --  for Palette 
  163.    --  "flags": the flags that specify what actions GTK+ should take for drops 
  164.    --  on that widget 
  165.    --  "targets": the Gtk.Tool_Palette.Gtk_Tool_Palette_Drag_Targets which the 
  166.    --  widget should support 
  167.    --  "actions": the Gdk.Drag_Contexts.Gdk_Drag_Action<!-- -->s which the 
  168.    --  widget should suppport 
  169.  
  170.    function Get_Drag_Item 
  171.       (Self      : not null access Gtk_Tool_Palette_Record; 
  172.        Selection : Gtk.Selection_Data.Gtk_Selection_Data) 
  173.        return Gtk.Widget.Gtk_Widget; 
  174.    --  Get the dragged item from the selection. This could be a 
  175.    --  Gtk.Tool_Item.Gtk_Tool_Item or a 
  176.    --  Gtk.Tool_Item_Group.Gtk_Tool_Item_Group. 
  177.    --  Since: gtk+ 2.20 
  178.    --  "selection": a Gtk.Selection_Data.Gtk_Selection_Data 
  179.  
  180.    function Get_Drop_Group 
  181.       (Self : not null access Gtk_Tool_Palette_Record; 
  182.        X    : Gint; 
  183.        Y    : Gint) return Gtk.Tool_Item_Group.Gtk_Tool_Item_Group; 
  184.    --  Gets the group at position (x, y). 
  185.    --  Since: gtk+ 2.20 
  186.    --  "x": the x position 
  187.    --  "y": the y position 
  188.  
  189.    function Get_Drop_Item 
  190.       (Self : not null access Gtk_Tool_Palette_Record; 
  191.        X    : Gint; 
  192.        Y    : Gint) return Gtk.Tool_Item.Gtk_Tool_Item; 
  193.    --  Gets the item at position (x, y). See Gtk.Tool_Palette.Get_Drop_Group. 
  194.    --  Since: gtk+ 2.20 
  195.    --  "x": the x position 
  196.    --  "y": the y position 
  197.  
  198.    function Get_Exclusive 
  199.       (Self  : not null access Gtk_Tool_Palette_Record; 
  200.        Group : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class) 
  201.        return Boolean; 
  202.    --  Gets whether Group is exclusive or not. See 
  203.    --  Gtk.Tool_Palette.Set_Exclusive. 
  204.    --  Since: gtk+ 2.20 
  205.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which is a child of 
  206.    --  palette 
  207.  
  208.    procedure Set_Exclusive 
  209.       (Self      : not null access Gtk_Tool_Palette_Record; 
  210.        Group     : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class; 
  211.        Exclusive : Boolean); 
  212.    --  Sets whether the group should be exclusive or not. If an exclusive 
  213.    --  group is expanded all other groups are collapsed. 
  214.    --  Since: gtk+ 2.20 
  215.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which is a child of 
  216.    --  palette 
  217.    --  "exclusive": whether the group should be exclusive or not 
  218.  
  219.    function Get_Expand 
  220.       (Self  : not null access Gtk_Tool_Palette_Record; 
  221.        Group : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class) 
  222.        return Boolean; 
  223.    --  Gets whether group should be given extra space. See 
  224.    --  Gtk.Tool_Palette.Set_Expand. 
  225.    --  Since: gtk+ 2.20 
  226.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which is a child of 
  227.    --  palette 
  228.  
  229.    procedure Set_Expand 
  230.       (Self   : not null access Gtk_Tool_Palette_Record; 
  231.        Group  : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class; 
  232.        Expand : Boolean); 
  233.    --  Sets whether the group should be given extra space. 
  234.    --  Since: gtk+ 2.20 
  235.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which is a child of 
  236.    --  palette 
  237.    --  "expand": whether the group should be given extra space 
  238.  
  239.    function Get_Group_Position 
  240.       (Self  : not null access Gtk_Tool_Palette_Record; 
  241.        Group : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class) 
  242.        return Gint; 
  243.    --  Gets the position of Group in Palette as index. See 
  244.    --  Gtk.Tool_Palette.Set_Group_Position. 
  245.    --  Since: gtk+ 2.20 
  246.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group 
  247.  
  248.    procedure Set_Group_Position 
  249.       (Self     : not null access Gtk_Tool_Palette_Record; 
  250.        Group    : not null access Gtk.Tool_Item_Group.Gtk_Tool_Item_Group_Record'Class; 
  251.        Position : Gint); 
  252.    --  Sets the position of the group as an index of the tool palette. If 
  253.    --  position is 0 the group will become the first child, if position is -1 
  254.    --  it will become the last child. 
  255.    --  Since: gtk+ 2.20 
  256.    --  "group": a Gtk.Tool_Item_Group.Gtk_Tool_Item_Group which is a child of 
  257.    --  palette 
  258.    --  "position": a new index for group 
  259.  
  260.    function Get_Icon_Size 
  261.       (Self : not null access Gtk_Tool_Palette_Record) 
  262.        return Gtk.Enums.Gtk_Icon_Size; 
  263.    --  Gets the size of icons in the tool palette. See 
  264.    --  Gtk.Tool_Palette.Set_Icon_Size. 
  265.    --  Since: gtk+ 2.20 
  266.  
  267.    procedure Set_Icon_Size 
  268.       (Self      : not null access Gtk_Tool_Palette_Record; 
  269.        Icon_Size : Gtk.Enums.Gtk_Icon_Size); 
  270.    --  Sets the size of icons in the tool palette. 
  271.    --  Since: gtk+ 2.20 
  272.    --  "icon_size": the Gtk.Enums.Gtk_Icon_Size that icons in the tool palette 
  273.    --  shall have 
  274.  
  275.    function Get_Style 
  276.       (Self : not null access Gtk_Tool_Palette_Record) 
  277.        return Gtk.Enums.Gtk_Toolbar_Style; 
  278.    --  Gets the style (icons, text or both) of items in the tool palette. 
  279.    --  Since: gtk+ 2.20 
  280.  
  281.    procedure Set_Style 
  282.       (Self  : not null access Gtk_Tool_Palette_Record; 
  283.        Style : Gtk.Enums.Gtk_Toolbar_Style); 
  284.    --  Sets the style (text, icons or both) of items in the tool palette. 
  285.    --  Since: gtk+ 2.20 
  286.    --  "style": the Gtk.Enums.Gtk_Toolbar_Style that items in the tool palette 
  287.    --  shall have 
  288.  
  289.    procedure Set_Drag_Source 
  290.       (Self    : not null access Gtk_Tool_Palette_Record; 
  291.        Targets : Gtk_Tool_Palette_Drag_Targets); 
  292.    --  Sets the tool palette as a drag source. Enables all groups and items in 
  293.    --  the tool palette as drag sources on button 1 and button 3 press with 
  294.    --  copy and move actions. See gtk_drag_source_set. 
  295.    --  Since: gtk+ 2.20 
  296.    --  "targets": the Gtk.Tool_Palette.Gtk_Tool_Palette_Drag_Targets which the 
  297.    --  widget should support 
  298.  
  299.    procedure Unset_Icon_Size 
  300.       (Self : not null access Gtk_Tool_Palette_Record); 
  301.    --  Unsets the tool palette icon size set with 
  302.    --  Gtk.Tool_Palette.Set_Icon_Size, so that user preferences will be used to 
  303.    --  determine the icon size. 
  304.    --  Since: gtk+ 2.20 
  305.  
  306.    procedure Unset_Style (Self : not null access Gtk_Tool_Palette_Record); 
  307.    --  Unsets a toolbar style set with Gtk.Tool_Palette.Set_Style, so that 
  308.    --  user preferences will be used to determine the toolbar style. 
  309.    --  Since: gtk+ 2.20 
  310.  
  311.    --------------------------------------------- 
  312.    -- Inherited subprograms (from interfaces) -- 
  313.    --------------------------------------------- 
  314.    --  Methods inherited from the Buildable interface are not duplicated here 
  315.    --  since they are meant to be used by tools, mostly. If you need to call 
  316.    --  them, use an explicit cast through the "-" operator below. 
  317.  
  318.    function Get_Orientation 
  319.       (Self : not null access Gtk_Tool_Palette_Record) 
  320.        return Gtk.Enums.Gtk_Orientation; 
  321.  
  322.    procedure Set_Orientation 
  323.       (Self        : not null access Gtk_Tool_Palette_Record; 
  324.        Orientation : Gtk.Enums.Gtk_Orientation); 
  325.  
  326.    function Get_Hadjustment 
  327.       (Self : not null access Gtk_Tool_Palette_Record) 
  328.        return Gtk.Adjustment.Gtk_Adjustment; 
  329.  
  330.    procedure Set_Hadjustment 
  331.       (Self        : not null access Gtk_Tool_Palette_Record; 
  332.        Hadjustment : access Gtk.Adjustment.Gtk_Adjustment_Record'Class); 
  333.  
  334.    function Get_Hscroll_Policy 
  335.       (Self : not null access Gtk_Tool_Palette_Record) 
  336.        return Gtk.Enums.Gtk_Scrollable_Policy; 
  337.  
  338.    procedure Set_Hscroll_Policy 
  339.       (Self   : not null access Gtk_Tool_Palette_Record; 
  340.        Policy : Gtk.Enums.Gtk_Scrollable_Policy); 
  341.  
  342.    function Get_Vadjustment 
  343.       (Self : not null access Gtk_Tool_Palette_Record) 
  344.        return Gtk.Adjustment.Gtk_Adjustment; 
  345.  
  346.    procedure Set_Vadjustment 
  347.       (Self        : not null access Gtk_Tool_Palette_Record; 
  348.        Vadjustment : access Gtk.Adjustment.Gtk_Adjustment_Record'Class); 
  349.  
  350.    function Get_Vscroll_Policy 
  351.       (Self : not null access Gtk_Tool_Palette_Record) 
  352.        return Gtk.Enums.Gtk_Scrollable_Policy; 
  353.  
  354.    procedure Set_Vscroll_Policy 
  355.       (Self   : not null access Gtk_Tool_Palette_Record; 
  356.        Policy : Gtk.Enums.Gtk_Scrollable_Policy); 
  357.  
  358.    --------------- 
  359.    -- Functions -- 
  360.    --------------- 
  361.  
  362.    function Get_Drag_Target_Group return Gtk.Target_Entry.Gtk_Target_Entry; 
  363.    --  Get the target entry for a dragged 
  364.    --  Gtk.Tool_Item_Group.Gtk_Tool_Item_Group. 
  365.    --  Since: gtk+ 2.20 
  366.  
  367.    function Get_Drag_Target_Item return Gtk.Target_Entry.Gtk_Target_Entry; 
  368.    --  Gets the target entry for a dragged Gtk.Tool_Item.Gtk_Tool_Item. 
  369.    --  Since: gtk+ 2.20 
  370.  
  371.    ---------------- 
  372.    -- Properties -- 
  373.    ---------------- 
  374.    --  The following properties are defined for this widget. See 
  375.    --  Glib.Properties for more information on properties) 
  376.  
  377.    Icon_Size_Property : constant Gtk.Enums.Property_Gtk_Icon_Size; 
  378.    --  The size of the icons in a tool palette is normally determined by the 
  379.    --  Gtk.Settings.Gtk_Settings:gtk-toolbar-icon-size setting. When this 
  380.    --  property is set, it overrides the setting. 
  381.    -- 
  382.    --  This should only be used for special-purpose tool palettes, normal 
  383.    --  application tool palettes should respect the user preferences for the 
  384.    --  size of icons. 
  385.  
  386.    Icon_Size_Set_Property : constant Glib.Properties.Property_Boolean; 
  387.    --  Is True if the Gtk.Tool_Palette.Gtk_Tool_Palette:icon-size property has 
  388.    --  been set. 
  389.  
  390.    Toolbar_Style_Property : constant Gtk.Enums.Property_Gtk_Toolbar_Style; 
  391.    --  The style of items in the tool palette. 
  392.  
  393.    ---------------- 
  394.    -- Interfaces -- 
  395.    ---------------- 
  396.    --  This class implements several interfaces. See Glib.Types 
  397.    -- 
  398.    --  - "Buildable" 
  399.    -- 
  400.    --  - "Orientable" 
  401.    -- 
  402.    --  - "Scrollable" 
  403.  
  404.    package Implements_Gtk_Buildable is new Glib.Types.Implements 
  405.      (Gtk.Buildable.Gtk_Buildable, Gtk_Tool_Palette_Record, Gtk_Tool_Palette); 
  406.    function "+" 
  407.      (Widget : access Gtk_Tool_Palette_Record'Class) 
  408.    return Gtk.Buildable.Gtk_Buildable 
  409.    renames Implements_Gtk_Buildable.To_Interface; 
  410.    function "-" 
  411.      (Interf : Gtk.Buildable.Gtk_Buildable) 
  412.    return Gtk_Tool_Palette 
  413.    renames Implements_Gtk_Buildable.To_Object; 
  414.  
  415.    package Implements_Gtk_Orientable is new Glib.Types.Implements 
  416.      (Gtk.Orientable.Gtk_Orientable, Gtk_Tool_Palette_Record, Gtk_Tool_Palette); 
  417.    function "+" 
  418.      (Widget : access Gtk_Tool_Palette_Record'Class) 
  419.    return Gtk.Orientable.Gtk_Orientable 
  420.    renames Implements_Gtk_Orientable.To_Interface; 
  421.    function "-" 
  422.      (Interf : Gtk.Orientable.Gtk_Orientable) 
  423.    return Gtk_Tool_Palette 
  424.    renames Implements_Gtk_Orientable.To_Object; 
  425.  
  426.    package Implements_Gtk_Scrollable is new Glib.Types.Implements 
  427.      (Gtk.Scrollable.Gtk_Scrollable, Gtk_Tool_Palette_Record, Gtk_Tool_Palette); 
  428.    function "+" 
  429.      (Widget : access Gtk_Tool_Palette_Record'Class) 
  430.    return Gtk.Scrollable.Gtk_Scrollable 
  431.    renames Implements_Gtk_Scrollable.To_Interface; 
  432.    function "-" 
  433.      (Interf : Gtk.Scrollable.Gtk_Scrollable) 
  434.    return Gtk_Tool_Palette 
  435.    renames Implements_Gtk_Scrollable.To_Object; 
  436.  
  437. private 
  438.    Toolbar_Style_Property : constant Gtk.Enums.Property_Gtk_Toolbar_Style := 
  439.      Gtk.Enums.Build ("toolbar-style"); 
  440.    Icon_Size_Set_Property : constant Glib.Properties.Property_Boolean := 
  441.      Glib.Properties.Build ("icon-size-set"); 
  442.    Icon_Size_Property : constant Gtk.Enums.Property_Gtk_Icon_Size := 
  443.      Gtk.Enums.Build ("icon-size"); 
  444. end Gtk.Tool_Palette;