------------------------------------------------------------------------------
-- --
-- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet --
-- Copyright (C) 2000-2015, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
-- Software Foundation; either version 3, 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 MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- . --
-- --
------------------------------------------------------------------------------
--
-- A Gtk.Tool_Item_Group.Gtk_Tool_Item_Group is used together with
-- Gtk.Tool_Palette.Gtk_Tool_Palette to add Gtk_Tool_Items to a palette like
-- container with different categories and drag and drop support.
--
--
pragma Ada_2005;
pragma Warnings (Off, "*is already use-visible*");
with Glib; use Glib;
with Glib.Properties; use Glib.Properties;
with Glib.Types; use Glib.Types;
with Gtk.Buildable; use Gtk.Buildable;
with Gtk.Container; use Gtk.Container;
with Gtk.Enums; use Gtk.Enums;
with Gtk.Size_Group; use Gtk.Size_Group;
with Gtk.Tool_Item; use Gtk.Tool_Item;
with Gtk.Tool_Shell; use Gtk.Tool_Shell;
with Gtk.Widget; use Gtk.Widget;
with Pango.Layout; use Pango.Layout;
package Gtk.Tool_Item_Group is
type Gtk_Tool_Item_Group_Record is new Gtk_Container_Record with null record;
type Gtk_Tool_Item_Group is access all Gtk_Tool_Item_Group_Record'Class;
------------------
-- Constructors --
------------------
procedure Gtk_New (Self : out Gtk_Tool_Item_Group; Label : UTF8_String);
procedure Initialize
(Self : not null access Gtk_Tool_Item_Group_Record'Class;
Label : UTF8_String);
-- Creates a new tool item group with label Label.
-- Since: gtk+ 2.20
-- "label": the label of the new group
function Gtk_Tool_Item_Group_New
(Label : UTF8_String) return Gtk_Tool_Item_Group;
-- Creates a new tool item group with label Label.
-- Since: gtk+ 2.20
-- "label": the label of the new group
function Get_Type return Glib.GType;
pragma Import (C, Get_Type, "gtk_tool_item_group_get_type");
-------------
-- Methods --
-------------
function Get_Collapsed
(Self : not null access Gtk_Tool_Item_Group_Record) return Boolean;
-- Gets whether Group is collapsed or expanded.
-- Since: gtk+ 2.20
procedure Set_Collapsed
(Self : not null access Gtk_Tool_Item_Group_Record;
Collapsed : Boolean);
-- Sets whether the Group should be collapsed or expanded.
-- Since: gtk+ 2.20
-- "collapsed": whether the Group should be collapsed or expanded
function Get_Drop_Item
(Self : not null access Gtk_Tool_Item_Group_Record;
X : Gint;
Y : Gint) return Gtk.Tool_Item.Gtk_Tool_Item;
-- Gets the tool item at position (x, y).
-- Since: gtk+ 2.20
-- "x": the x position
-- "y": the y position
function Get_Ellipsize
(Self : not null access Gtk_Tool_Item_Group_Record)
return Pango.Layout.Pango_Ellipsize_Mode;
-- Gets the ellipsization mode of Group.
-- Since: gtk+ 2.20
procedure Set_Ellipsize
(Self : not null access Gtk_Tool_Item_Group_Record;
Ellipsize : Pango.Layout.Pango_Ellipsize_Mode);
-- Sets the ellipsization mode which should be used by labels in Group.
-- Since: gtk+ 2.20
-- "ellipsize": the Pango.Layout.Pango_Ellipsize_Mode labels in Group
-- should use
function Get_Header_Relief
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Relief_Style;
-- Gets the relief mode of the header button of Group.
-- Since: gtk+ 2.20
procedure Set_Header_Relief
(Self : not null access Gtk_Tool_Item_Group_Record;
Style : Gtk.Enums.Gtk_Relief_Style);
-- Set the button relief of the group header. See Gtk.Button.Set_Relief
-- for details.
-- Since: gtk+ 2.20
-- "style": the Gtk.Enums.Gtk_Relief_Style
function Get_Item_Position
(Self : not null access Gtk_Tool_Item_Group_Record;
Item : not null access Gtk.Tool_Item.Gtk_Tool_Item_Record'Class)
return Gint;
-- Gets the position of Item in Group as index.
-- Since: gtk+ 2.20
-- "item": a Gtk.Tool_Item.Gtk_Tool_Item
procedure Set_Item_Position
(Self : not null access Gtk_Tool_Item_Group_Record;
Item : not null access Gtk.Tool_Item.Gtk_Tool_Item_Record'Class;
Position : Gint);
-- Sets the position of Item in the list of children of Group.
-- Since: gtk+ 2.20
-- "item": the Gtk.Tool_Item.Gtk_Tool_Item to move to a new position,
-- should be a child of Group.
-- "position": the new position of Item in Group, starting with 0. The
-- position -1 means end of list.
function Get_Label
(Self : not null access Gtk_Tool_Item_Group_Record) return UTF8_String;
-- Gets the label of Group.
-- Since: gtk+ 2.20
procedure Set_Label
(Self : not null access Gtk_Tool_Item_Group_Record;
Label : UTF8_String);
-- Sets the label of the tool item group. The label is displayed in the
-- header of the group.
-- Since: gtk+ 2.20
-- "label": the new human-readable label of of the group
function Get_Label_Widget
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Widget.Gtk_Widget;
-- Gets the label widget of Group. See
-- Gtk.Tool_Item_Group.Set_Label_Widget.
-- Since: gtk+ 2.20
procedure Set_Label_Widget
(Self : not null access Gtk_Tool_Item_Group_Record;
Label_Widget : not null access Gtk.Widget.Gtk_Widget_Record'Class);
-- Sets the label of the tool item group. The label widget is displayed in
-- the header of the group, in place of the usual label.
-- Since: gtk+ 2.20
-- "label_widget": the widget to be displayed in place of the usual label
function Get_N_Items
(Self : not null access Gtk_Tool_Item_Group_Record) return Guint;
-- Gets the number of tool items in Group.
-- Since: gtk+ 2.20
function Get_Nth_Item
(Self : not null access Gtk_Tool_Item_Group_Record;
Index : Guint) return Gtk.Tool_Item.Gtk_Tool_Item;
-- Gets the tool item at Index in group.
-- Since: gtk+ 2.20
-- "index": the index
procedure Insert
(Self : not null access Gtk_Tool_Item_Group_Record;
Item : not null access Gtk.Tool_Item.Gtk_Tool_Item_Record'Class;
Position : Gint);
-- Inserts Item at Position in the list of children of Group.
-- Since: gtk+ 2.20
-- "item": the Gtk.Tool_Item.Gtk_Tool_Item to insert into Group
-- "position": the position of Item in Group, starting with 0. The
-- position -1 means end of list.
---------------------------------------------
-- Inherited subprograms (from interfaces) --
---------------------------------------------
-- Methods inherited from the Buildable interface are not duplicated here
-- since they are meant to be used by tools, mostly. If you need to call
-- them, use an explicit cast through the "-" operator below.
function Get_Ellipsize_Mode
(Self : not null access Gtk_Tool_Item_Group_Record)
return Pango.Layout.Pango_Ellipsize_Mode;
function Get_Icon_Size
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Icon_Size;
function Get_Orientation
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Orientation;
function Get_Relief_Style
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Relief_Style;
function Get_Style
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Toolbar_Style;
function Get_Text_Alignment
(Self : not null access Gtk_Tool_Item_Group_Record) return Gfloat;
function Get_Text_Orientation
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Enums.Gtk_Orientation;
function Get_Text_Size_Group
(Self : not null access Gtk_Tool_Item_Group_Record)
return Gtk.Size_Group.Gtk_Size_Group;
procedure Rebuild_Menu
(Self : not null access Gtk_Tool_Item_Group_Record);
----------------
-- Properties --
----------------
-- The following properties are defined for this widget. See
-- Glib.Properties for more information on properties)
Collapsed_Property : constant Glib.Properties.Property_Boolean;
Ellipsize_Property : constant Pango.Layout.Property_Pango_Ellipsize_Mode;
-- Type: Pango.Layout.Pango_Ellipsize_Mode
Header_Relief_Property : constant Gtk.Enums.Property_Gtk_Relief_Style;
Label_Property : constant Glib.Properties.Property_String;
Label_Widget_Property : constant Glib.Properties.Property_Object;
-- Type: Gtk.Widget.Gtk_Widget
----------------
-- Interfaces --
----------------
-- This class implements several interfaces. See Glib.Types
--
-- - "Buildable"
--
-- - "ToolShell"
package Implements_Gtk_Buildable is new Glib.Types.Implements
(Gtk.Buildable.Gtk_Buildable, Gtk_Tool_Item_Group_Record, Gtk_Tool_Item_Group);
function "+"
(Widget : access Gtk_Tool_Item_Group_Record'Class)
return Gtk.Buildable.Gtk_Buildable
renames Implements_Gtk_Buildable.To_Interface;
function "-"
(Interf : Gtk.Buildable.Gtk_Buildable)
return Gtk_Tool_Item_Group
renames Implements_Gtk_Buildable.To_Object;
package Implements_Gtk_Tool_Shell is new Glib.Types.Implements
(Gtk.Tool_Shell.Gtk_Tool_Shell, Gtk_Tool_Item_Group_Record, Gtk_Tool_Item_Group);
function "+"
(Widget : access Gtk_Tool_Item_Group_Record'Class)
return Gtk.Tool_Shell.Gtk_Tool_Shell
renames Implements_Gtk_Tool_Shell.To_Interface;
function "-"
(Interf : Gtk.Tool_Shell.Gtk_Tool_Shell)
return Gtk_Tool_Item_Group
renames Implements_Gtk_Tool_Shell.To_Object;
private
Label_Widget_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("label-widget");
Label_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("label");
Header_Relief_Property : constant Gtk.Enums.Property_Gtk_Relief_Style :=
Gtk.Enums.Build ("header-relief");
Ellipsize_Property : constant Pango.Layout.Property_Pango_Ellipsize_Mode :=
Pango.Layout.Build ("ellipsize");
Collapsed_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("collapsed");
end Gtk.Tool_Item_Group;