------------------------------------------------------------------------------ -- -- -- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- -- Copyright (C) 2000-2014, 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 -- -- <http://www.gnu.org/licenses/>. -- -- -- ------------------------------------------------------------------------------ -- <description> -- The GtkTreeViewColumn object represents a visible column in a -- Gtk.Tree_View.Gtk_Tree_View widget. It allows to set properties of the -- column header, and functions as a holding pen for the cell renderers which -- determine how the data in the column is displayed. -- -- Please refer to the <link linkend="TreeWidget">tree widget conceptual -- overview</link> for an overview of all the objects and data types related -- to the tree widget and how they work together. -- -- </description> pragma Ada_2005; pragma Warnings (Off, "*is already use-visible*");
with Gdk.Rectangle; use Gdk.Rectangle;
with Glib; use Glib;
with Glib.Generic_Properties; use Glib.Generic_Properties;
with Glib.Glist; use Glib.Glist;
with Glib.Object; use Glib.Object;
with Glib.Properties; use Glib.Properties;
with Glib.Types; use Glib.Types;
with Gtk.Buildable; use Gtk.Buildable;
with Gtk.Cell_Area; use Gtk.Cell_Area;
with Gtk.Cell_Layout; use Gtk.Cell_Layout;
with Gtk.Cell_Renderer; use Gtk.Cell_Renderer;
with Gtk.Enums; use Gtk.Enums;
with Gtk.Tree_Model; use Gtk.Tree_Model;
with Gtk.Widget; use Gtk.Widget;
package Gtk.Tree_View_Column is
type Gtk_Tree_View_Column_Record is new GObject_Record with null record;
type Gtk_Tree_View_Column is access all Gtk_Tree_View_Column_Record'Class;
type Gtk_Tree_View_Column_Sizing is (
Tree_View_Column_Grow_Only,
Tree_View_Column_Autosize,
Tree_View_Column_Fixed);
pragma Convention (C, Gtk_Tree_View_Column_Sizing);
-- The sizing method the column uses to determine its width. Please note -- that Gtk_Tree_View_Column_Autosize are inefficient for large views, and -- can make columns appear choppy. function Convert (R : Gtk.Tree_View_Column.Gtk_Tree_View_Column) return System.Address;
function Convert (R : System.Address) return Gtk.Tree_View_Column.Gtk_Tree_View_Column;
package Column_List is new Generic_List (Gtk.Tree_View_Column.Gtk_Tree_View_Column);
--------------- -- Callbacks -- --------------- type Gtk_Cell_Layout_Data_Func is access procedure
(Cell_Layout : Gtk.Cell_Layout.Gtk_Cell_Layout; Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Tree_Model : Gtk.Tree_Model.Gtk_Tree_Model; Iter : Gtk.Tree_Model.Gtk_Tree_Iter); -- A function which should set the value of Cell_Layout's cell renderer(s) -- as appropriate. -- "cell_layout": a Gtk.Cell_Layout.Gtk_Cell_Layout -- "cell": the cell renderer whose value is to be set -- "tree_model": the model -- "iter": a Gtk.Tree_Model.Gtk_Tree_Iter indicating the row to set the -- value for ---------------------------- -- Enumeration Properties -- ---------------------------- package Gtk_Tree_View_Column_Sizing_Properties is
new Generic_Internal_Discrete_Property (Gtk_Tree_View_Column_Sizing);
type Property_Gtk_Tree_View_Column_Sizing is new Gtk_Tree_View_Column_Sizing_Properties.Property;
------------------ -- Constructors -- ------------------ procedure Gtk_New (Tree_Column : out Gtk_Tree_View_Column);
procedure Initialize
(Tree_Column : not null access Gtk_Tree_View_Column_Record'Class);
-- Creates a new Gtk.Tree_View_Column.Gtk_Tree_View_Column. function Gtk_Tree_View_Column_New return Gtk_Tree_View_Column;
-- Creates a new Gtk.Tree_View_Column.Gtk_Tree_View_Column. procedure Gtk_New_With_Area
(Tree_Column : out Gtk_Tree_View_Column;
Area : not null access Gtk.Cell_Area.Gtk_Cell_Area_Record'Class);
procedure Initialize_With_Area
(Tree_Column : not null access Gtk_Tree_View_Column_Record'Class;
Area : not null access Gtk.Cell_Area.Gtk_Cell_Area_Record'Class);
-- Creates a new Gtk.Tree_View_Column.Gtk_Tree_View_Column using Area to -- render its cells. -- Since: gtk+ 3.0 -- "area": the Gtk.Cell_Area.Gtk_Cell_Area that the newly created column -- should use to layout cells. function Gtk_Tree_View_Column_New_With_Area
(Area : not null access Gtk.Cell_Area.Gtk_Cell_Area_Record'Class)
return Gtk_Tree_View_Column;
-- Creates a new Gtk.Tree_View_Column.Gtk_Tree_View_Column using Area to -- render its cells. -- Since: gtk+ 3.0 -- "area": the Gtk.Cell_Area.Gtk_Cell_Area that the newly created column -- should use to layout cells. function Get_Type return Glib.GType;
pragma Import (C, Get_Type, "gtk_tree_view_column_get_type");
------------- -- Methods -- ------------- procedure Cell_Get_Position
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Cell_Renderer : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
X_Offset : out Gint;
Width : out Gint;
Success : out Boolean);
-- Obtains the horizontal position and size of a cell in a column. If the -- cell is not found in the column, Start_Pos and Width are not changed and -- False is returned. -- "cell_renderer": a Gtk.Cell_Renderer.Gtk_Cell_Renderer -- "x_offset": return location for the horizontal position of Cell within -- Tree_Column, may be null -- "width": return location for the width of Cell, may be null procedure Cell_Get_Size
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Cell_Area : Gdk.Rectangle.Gdk_Rectangle;
X_Offset : out Gint;
Y_Offset : out Gint;
Width : out Gint;
Height : out Gint);
-- Obtains the width and height needed to render the column. This is used -- primarily by the Gtk.Tree_View.Gtk_Tree_View. -- "cell_area": The area a cell in the column will be allocated, or null -- "x_offset": location to return x offset of a cell relative to -- Cell_Area, or null -- "y_offset": location to return y offset of a cell relative to -- Cell_Area, or null -- "width": location to return width needed to render a cell, or null -- "height": location to return height needed to render a cell, or null function Cell_Is_Visible
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if any of the cells packed into the Tree_Column are -- visible. For this to be meaningful, you must first initialize the cells -- with Gtk.Tree_View_Column.Cell_Set_Cell_Data procedure Cell_Set_Cell_Data
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Tree_Model : Gtk.Tree_Model.Gtk_Tree_Model;
Iter : Gtk.Tree_Model.Gtk_Tree_Iter;
Is_Expander : Boolean;
Is_Expanded : Boolean);
-- Sets the cell renderer based on the Tree_Model and Iter. That is, for -- every attribute mapping in Tree_Column, it will get a value from the set -- column on the Iter, and use that value to set the attribute on the cell -- renderer. This is used primarily by the Gtk.Tree_View.Gtk_Tree_View. -- "tree_model": The Gtk.Tree_Model.Gtk_Tree_Model to to get the cell -- renderers attributes from. -- "iter": The Gtk.Tree_Model.Gtk_Tree_Iter to to get the cell renderer's -- attributes from. -- "is_expander": True, if the row has children -- "is_expanded": True, if the row has visible children procedure Clicked
(Tree_Column : not null access Gtk_Tree_View_Column_Record);
-- Emits the "clicked" signal on the column. This function will only work -- if Tree_Column is clickable. procedure Focus_Cell
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class);
-- Sets the current keyboard focus to be at Cell, if the column contains 2 -- or more editable and activatable cells. -- Since: gtk+ 2.2 -- "cell": A Gtk.Cell_Renderer.Gtk_Cell_Renderer function Get_Alignment
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gfloat;
-- Returns the current x alignment of Tree_Column. This value can range -- between 0.0 and 1.0. procedure Set_Alignment
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Xalign : Gfloat);
-- Sets the alignment of the title or custom widget inside the column -- header. The alignment determines its location inside the button -- 0.0 -- for left, 0.5 for center, 1.0 for right. -- "xalign": The alignment, which is between [0.0 and 1.0] inclusive. function Get_Button
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gtk.Widget.Gtk_Widget;
-- Returns the button used in the treeview column header -- Since: gtk+ 3.0 function Get_Clickable
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if the user can click on the header for the column. procedure Set_Clickable
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Clickable : Boolean);
-- Sets the header to be active if Clickable is True. When the header is -- active, then it can take keyboard focus, and can be clicked. -- "clickable": True if the header is active. function Get_Expand
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if the column expands to fill available space. -- Since: gtk+ 2.4 procedure Set_Expand
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Expand : Boolean);
-- Sets the column to take available extra space. This space is shared -- equally amongst all columns that have the expand set to True. If no -- column has this option set, then the last column gets all extra space. -- By default, every column is created with this False. -- Along with "fixed-width", the "expand" property changes when the column -- is resized by the user. -- Since: gtk+ 2.4 -- "expand": True if the column should expand to fill available space. function Get_Fixed_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Gets the fixed width of the column. This may not be the actual -- displayed width of the column; for that, use -- Gtk.Tree_View_Column.Get_Width. procedure Set_Fixed_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Fixed_Width : Gint);
-- If Fixed_Width is not -1, sets the fixed width of Tree_Column; -- otherwise unsets it. The effective value of Fixed_Width is clamped -- between the minumum and maximum width of the column; however, the value -- stored in the "fixed-width" property is not clamped. If the column -- sizing is GTK_TREE_VIEW_COLUMN_GROW_ONLY or -- GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting a fixed width overrides the -- automatically calculated width. Note that Fixed_Width is only a hint to -- GTK+; the width actually allocated to the column may be greater or less -- than requested. -- Along with "expand", the "fixed-width" property changes when the column -- is resized by the user. -- "fixed_width": The new fixed width, in pixels, or -1. function Get_Max_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Returns the maximum width in pixels of the Tree_Column, or -1 if no -- maximum width is set. procedure Set_Max_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Max_Width : Gint);
-- Sets the maximum width of the Tree_Column. If Max_Width is -1, then the -- maximum width is unset. Note, the column can actually be wider than max -- width if it's the last column in a view. In this case, the column -- expands to fill any extra space. -- "max_width": The maximum width of the column in pixels, or -1. function Get_Min_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Returns the minimum width in pixels of the Tree_Column, or -1 if no -- minimum width is set. procedure Set_Min_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Min_Width : Gint);
-- Sets the minimum width of the Tree_Column. If Min_Width is -1, then the -- minimum width is unset. -- "min_width": The minimum width of the column in pixels, or -1. function Get_Reorderable
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if the Tree_Column can be reordered by the user. procedure Set_Reorderable
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Reorderable : Boolean);
-- If Reorderable is True, then the column can be reordered by the end -- user dragging the header. -- "reorderable": True, if the column can be reordered. function Get_Resizable
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if the Tree_Column can be resized by the end user. procedure Set_Resizable
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Resizable : Boolean);
-- If Resizable is True, then the user can explicitly resize the column by -- grabbing the outer edge of the column button. If resizable is True and -- sizing mode of the column is GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the -- sizing mode is changed to GTK_TREE_VIEW_COLUMN_GROW_ONLY. -- "resizable": True, if the column can be resized function Get_Sizing
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gtk_Tree_View_Column_Sizing;
-- Returns the current type of Tree_Column. procedure Set_Sizing
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
The_Type : Gtk_Tree_View_Column_Sizing);
-- Sets the growth behavior of Tree_Column to Type. -- "type": The Gtk.Tree_View_Column.Gtk_Tree_View_Column_Sizing. function Get_Sort_Column_Id
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Gets the logical Sort_Column_Id that the model sorts on when this -- column is selected for sorting. See -- Gtk.Tree_View_Column.Set_Sort_Column_Id. procedure Set_Sort_Column_Id
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Sort_Column_Id : Gint);
-- Sets the logical Sort_Column_Id that this column sorts on when this -- column is selected for sorting. Doing so makes the column header -- clickable. -- "sort_column_id": The Sort_Column_Id of the model to sort on. function Get_Sort_Indicator
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Gets the value set by Gtk.Tree_View_Column.Set_Sort_Indicator. procedure Set_Sort_Indicator
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Setting : Boolean);
-- Call this function with a Setting of True to display an arrow in the -- header button indicating the column is sorted. Call -- Gtk.Tree_View_Column.Set_Sort_Order to change the direction of the -- arrow. -- "setting": True to display an indicator that the column is sorted function Get_Sort_Order
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gtk.Enums.Gtk_Sort_Type;
-- Gets the value set by Gtk.Tree_View_Column.Set_Sort_Order. procedure Set_Sort_Order
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Order : Gtk.Enums.Gtk_Sort_Type);
-- Changes the appearance of the sort indicator. -- This *does not* actually sort the model. Use -- Gtk.Tree_View_Column.Set_Sort_Column_Id if you want automatic sorting -- support. This function is primarily for custom sorting behavior, and -- should be used in conjunction with Gtk.Tree_Sortable.Set_Sort_Column_Id -- to do that. For custom models, the mechanism will vary. -- The sort indicator changes direction to indicate normal sort or reverse -- sort. Note that you must have the sort indicator enabled to see anything -- when calling this function; see Gtk.Tree_View_Column.Set_Sort_Indicator. -- "order": sort order that the sort indicator should indicate function Get_Spacing
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Returns the spacing of Tree_Column. procedure Set_Spacing
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Spacing : Gint);
-- Sets the spacing field of Tree_Column, which is the number of pixels to -- place between cell renderers packed into it. -- "spacing": distance between cell renderers in pixels. function Get_Title
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return UTF8_String;
-- Returns the title of the widget. procedure Set_Title
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Title : UTF8_String);
-- Sets the title of the Tree_Column. If a custom widget has been set, -- then this value is ignored. -- "title": The title of the Tree_Column. function Get_Tree_View
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gtk.Widget.Gtk_Widget;
-- Returns the Gtk.Tree_View.Gtk_Tree_View wherein Tree_Column has been -- inserted. If Column is currently not inserted in any tree view, null is -- returned. -- Since: gtk+ 2.12 function Get_Visible
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Boolean; -- Returns True if Tree_Column is visible. procedure Set_Visible
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Visible : Boolean);
-- Sets the visibility of Tree_Column. -- "visible": True if the Tree_Column is visible. function Get_Widget
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gtk.Widget.Gtk_Widget;
-- Returns the Gtk.Widget.Gtk_Widget in the button on the column header. -- If a custom widget has not been set then null is returned. procedure Set_Widget
(Tree_Column : not null access Gtk_Tree_View_Column_Record;
Widget : access Gtk.Widget.Gtk_Widget_Record'Class);
-- Sets the widget in the header to be Widget. If widget is null, then the -- header button is set with a Gtk.Label.Gtk_Label set to the title of -- Tree_Column. -- "widget": A child Gtk.Widget.Gtk_Widget, or null. function Get_Width
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Returns the current size of Tree_Column in pixels. function Get_X_Offset
(Tree_Column : not null access Gtk_Tree_View_Column_Record)
return Gint;
-- Returns the current X offset of Tree_Column in pixels. -- Since: gtk+ 3.2 procedure Queue_Resize
(Tree_Column : not null access Gtk_Tree_View_Column_Record);
-- Flags the column, and the cell renderers added to this column, to have -- their sizes renegotiated. -- Since: gtk+ 2.8 procedure Set_Cell_Data_Func
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Func : Gtk_Cell_Layout_Data_Func);
-- Sets the Gtk_Cell_Layout_Data_Func to use for Cell_Layout. -- This function is used instead of the standard attributes mapping for -- setting the column value, and should set the value of Cell_Layout's cell -- renderer(s) as appropriate. -- Func may be null to remove a previously set function. -- Since: gtk+ 2.4 -- "cell": a Gtk.Cell_Renderer.Gtk_Cell_Renderer -- "func": the Gtk_Cell_Layout_Data_Func to use, or null generic type User_Data_Type (<>) is private;
with procedure Destroy (Data : in out User_Data_Type) is null;
package Set_Cell_Data_Func_User_Data is
type Gtk_Cell_Layout_Data_Func is access procedure
(Cell_Layout : Gtk.Cell_Layout.Gtk_Cell_Layout; Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Tree_Model : Gtk.Tree_Model.Gtk_Tree_Model; Iter : Gtk.Tree_Model.Gtk_Tree_Iter; Data : User_Data_Type); -- A function which should set the value of Cell_Layout's cell renderer(s) -- as appropriate. -- "cell_layout": a Gtk.Cell_Layout.Gtk_Cell_Layout -- "cell": the cell renderer whose value is to be set -- "tree_model": the model -- "iter": a Gtk.Tree_Model.Gtk_Tree_Iter indicating the row to set the -- value for -- "data": user data passed to Gtk.Cell_Layout.Set_Cell_Data_Func procedure Set_Cell_Data_Func
(Cell_Layout : not null access Gtk.Tree_View_Column.Gtk_Tree_View_Column_Record'Class;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Func : Gtk_Cell_Layout_Data_Func;
Func_Data : User_Data_Type);
-- Sets the Gtk_Cell_Layout_Data_Func to use for Cell_Layout. -- This function is used instead of the standard attributes mapping for -- setting the column value, and should set the value of Cell_Layout's -- cell renderer(s) as appropriate. -- Func may be null to remove a previously set function. -- Since: gtk+ 2.4 -- "cell": a Gtk.Cell_Renderer.Gtk_Cell_Renderer -- "func": the Gtk_Cell_Layout_Data_Func to use, or null -- "func_data": user data for Func end Set_Cell_Data_Func_User_Data;
--------------------------------------------- -- 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. procedure Add_Attribute
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Attribute : UTF8_String;
Column : Gint);
procedure Clear
(Cell_Layout : not null access Gtk_Tree_View_Column_Record);
procedure Clear_Attributes
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class);
function Get_Cells
(Cell_Layout : not null access Gtk_Tree_View_Column_Record)
return Glib.Object.Object_Simple_List.Glist;
procedure Pack_End
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Expand : Boolean);
procedure Pack_Start
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Expand : Boolean);
procedure Reorder
(Cell_Layout : not null access Gtk_Tree_View_Column_Record;
Cell : not null access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Position : Gint);
---------------- -- Properties -- ---------------- -- The following properties are defined for this widget. See -- Glib.Properties for more information on properties) Alignment_Property : constant Glib.Properties.Property_Float;
Cell_Area_Property : constant Glib.Properties.Property_Object;
-- Type: Gtk.Cell_Area.Gtk_Cell_Area -- The Gtk.Cell_Area.Gtk_Cell_Area used to layout cell renderers for this -- column. -- -- If no area is specified when creating the tree view column with -- Gtk.Tree_View_Column.Gtk_New_With_Area a horizontally oriented -- Gtk.Cell_Area_Box.Gtk_Cell_Area_Box will be used. Clickable_Property : constant Glib.Properties.Property_Boolean;
Expand_Property : constant Glib.Properties.Property_Boolean;
Fixed_Width_Property : constant Glib.Properties.Property_Int;
Max_Width_Property : constant Glib.Properties.Property_Int;
Min_Width_Property : constant Glib.Properties.Property_Int;
Reorderable_Property : constant Glib.Properties.Property_Boolean;
Resizable_Property : constant Glib.Properties.Property_Boolean;
Sizing_Property : constant Gtk.Tree_View_Column.Property_Gtk_Tree_View_Column_Sizing;
-- Type: Gtk_Tree_View_Column_Sizing Sort_Column_Id_Property : constant Glib.Properties.Property_Int;
-- Logical sort column ID this column sorts on when selected for sorting. -- Setting the sort column ID makes the column header clickable. Set to -1 -- to make the column unsortable. Sort_Indicator_Property : constant Glib.Properties.Property_Boolean;
Sort_Order_Property : constant Gtk.Enums.Property_Gtk_Sort_Type;
Spacing_Property : constant Glib.Properties.Property_Int;
Title_Property : constant Glib.Properties.Property_String;
Visible_Property : constant Glib.Properties.Property_Boolean;
Widget_Property : constant Glib.Properties.Property_Object;
-- Type: Gtk.Widget.Gtk_Widget Width_Property : constant Glib.Properties.Property_Int;
X_Offset_Property : constant Glib.Properties.Property_Int;
------------- -- Signals -- ------------- type Cb_Gtk_Tree_View_Column_Void is not null access procedure
(Self : access Gtk_Tree_View_Column_Record'Class);
type Cb_GObject_Void is not null access procedure
(Self : access Glib.Object.GObject_Record'Class);
Signal_Clicked : constant Glib.Signal_Name := "clicked";
procedure On_Clicked
(Self : not null access Gtk_Tree_View_Column_Record;
Call : Cb_Gtk_Tree_View_Column_Void;
After : Boolean := False);
procedure On_Clicked
(Self : not null access Gtk_Tree_View_Column_Record;
Call : Cb_GObject_Void;
Slot : not null access Glib.Object.GObject_Record'Class;
After : Boolean := False);
---------------- -- Interfaces -- ---------------- -- This class implements several interfaces. See Glib.Types -- -- - "Buildable" -- -- - "CellLayout" package Implements_Gtk_Buildable is new Glib.Types.Implements
(Gtk.Buildable.Gtk_Buildable, Gtk_Tree_View_Column_Record, Gtk_Tree_View_Column);
function "+"
(Widget : access Gtk_Tree_View_Column_Record'Class)
return Gtk.Buildable.Gtk_Buildable
renames Implements_Gtk_Buildable.To_Interface;
function "-"
(Interf : Gtk.Buildable.Gtk_Buildable)
return Gtk_Tree_View_Column
renames Implements_Gtk_Buildable.To_Object;
package Implements_Gtk_Cell_Layout is new Glib.Types.Implements
(Gtk.Cell_Layout.Gtk_Cell_Layout, Gtk_Tree_View_Column_Record, Gtk_Tree_View_Column);
function "+"
(Widget : access Gtk_Tree_View_Column_Record'Class)
return Gtk.Cell_Layout.Gtk_Cell_Layout
renames Implements_Gtk_Cell_Layout.To_Interface;
function "-"
(Interf : Gtk.Cell_Layout.Gtk_Cell_Layout)
return Gtk_Tree_View_Column
renames Implements_Gtk_Cell_Layout.To_Object;
private X_Offset_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("x-offset");
Width_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("width");
Widget_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("widget");
Visible_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("visible");
Title_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("title");
Spacing_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("spacing");
Sort_Order_Property : constant Gtk.Enums.Property_Gtk_Sort_Type :=
Gtk.Enums.Build ("sort-order");
Sort_Indicator_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("sort-indicator");
Sort_Column_Id_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("sort-column-id");
Sizing_Property : constant Gtk.Tree_View_Column.Property_Gtk_Tree_View_Column_Sizing :=
Gtk.Tree_View_Column.Build ("sizing");
Resizable_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("resizable");
Reorderable_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("reorderable");
Min_Width_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("min-width");
Max_Width_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("max-width");
Fixed_Width_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("fixed-width");
Expand_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("expand");
Clickable_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("clickable");
Cell_Area_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("cell-area");
Alignment_Property : constant Glib.Properties.Property_Float :=
Glib.Properties.Build ("alignment");
end Gtk.Tree_View_Column;