Index

Package: Tree_View

Description

package Gtk.Tree_View is
See extended documentation in Gtk.Tree_View_Column and Gtk.Tree_Store.

Binding from C File version 2.16.6

<testgtk>create_tree_view.adb</testgtk>

Screenshot

gtk-tree_view.png

Classes

Gtk_Tree_View_Record

type Gtk_Tree_View_Record is
     new Gtk.Container.Gtk_Container_Record with private;

Ancestors:

Primitive operations:

Append_Column
Collapse_All
Collapse_Row
Columns_Autosize
Convert_Bin_Window_To_Tree_Coords
Convert_Bin_Window_To_Widget_Coords
Convert_Tree_To_Bin_Window_Coords
Convert_Tree_To_Widget_Coords
Convert_Widget_To_Bin_Window_Coords
Convert_Widget_To_Tree_Coords
Create_Row_Drag_Icon
Enable_Model_Drag_Dest
Enable_Model_Drag_Source
Expand_To_Path
Get_Background_Area
Get_Bin_Window
Get_Cell_Area
Get_Dest_Row_At_Pos
Get_Drag_Dest_Row
Get_Enable_Search
Get_Enable_Tree_Lines
Get_Expander_Column
Get_Fixed_Height_Mode
Get_Grid_Lines
Get_Hadjustment
Get_Headers_Clickable
Get_Headers_Visible
Get_Hover_Expand
Get_Hover_Selection
Get_Level_Indentation
Get_Path_At_Pos
Get_Reorderable
Get_Row_Separator_Func
Get_Rubber_Banding
Get_Rules_Hint
Get_Search_Column
Get_Search_Entry
Get_Search_Equal_Func
Get_Search_Position_Func
Get_Selection
Get_Show_Expanders
Get_Tooltip_Column
Get_Tooltip_Context
Get_Vadjustment
Get_Visible_Range
Get_Visible_Rect
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Container.Add (Inherited)
Gtk.Container.Check_Resize (Inherited)
Gtk.Container.Child_Get_Property (Inherited)
Gtk.Container.Child_Set_Property (Inherited)
Gtk.Container.Child_Type (Inherited)
Gtk.Container.Forall (Inherited)
Gtk.Container.Foreach (Inherited)
Gtk.Container.Get_Border_Width (Inherited)
Gtk.Container.Get_Children (Inherited)
Gtk.Container.Get_Focus_Chain (Inherited)
Gtk.Container.Get_Focus_Child (Inherited)
Gtk.Container.Get_Focus_Hadjustment (Inherited)
Gtk.Container.Get_Focus_Vadjustment (Inherited)
Gtk.Container.Get_Resize_Mode (Inherited)
Gtk.Container.Propagate_Expose (Inherited)
Gtk.Container.Remove (Inherited)
Gtk.Container.Resize_Children (Inherited)
Gtk.Container.Set_Border_Width (Inherited)
Gtk.Container.Set_Focus_Chain (Inherited)
Gtk.Container.Set_Focus_Child (Inherited)
Gtk.Container.Set_Focus_Hadjustment (Inherited)
Gtk.Container.Set_Focus_Vadjustment (Inherited)
Gtk.Container.Set_Reallocate_Redraws (Inherited)
Gtk.Container.Set_Resize_Mode (Inherited)
Gtk.Container.Unset_Focus_Chain (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Insert_Column
Insert_Column_With_Data_Func
Is_Rubber_Banding_Active
Map_Expanded_Rows
Move_Column_After
Remove_Column
Row_Activated
Row_Expanded
Scroll_To_Cell
Scroll_To_Point
Set_Column_Drag_Function
Set_Cursor_On_Cell
Set_Drag_Dest_Row
Set_Enable_Search
Set_Enable_Tree_Lines
Set_Expander_Column
Set_Fixed_Height_Mode
Set_Grid_Lines
Set_Hadjustment
Set_Headers_Clickable
Set_Headers_Visible
Set_Hover_Expand
Set_Hover_Selection
Set_Level_Indentation
Set_Reorderable
Set_Row_Separator_Func
Set_Rubber_Banding
Set_Rules_Hint
Set_Search_Column
Set_Search_Entry
Set_Search_Equal_Func
Set_Search_Position_Func
Set_Show_Expanders
Set_Tooltip_Cell
Set_Tooltip_Column
Set_Tooltip_Row
Set_Vadjustment
Tree_To_Widget_Coords
Unset_Rows_Drag_Dest
Unset_Rows_Drag_Source
Widget_To_Tree_Coords

Types

Gtk_Tree_View

type Gtk_Tree_View is access all Gtk_Tree_View_Record'Class;

Gtk_Tree_View_Drop_Position

type Gtk_Tree_View_Drop_Position is
     (Tree_View_Drop_Before,
      Tree_View_Drop_After,
      Tree_View_Drop_Into_Or_Before,
      Tree_View_Drop_Into_Or_After);

Gtk_Tree_View_Mapping_Func

type Gtk_Tree_View_Mapping_Func is access
     procedure (Tree_View : System.Address;  --  Gtk_Tree_View
                Path      : Gtk.Tree_Model.Gtk_Tree_Path;
                User_Data : System.Address);

Gtk_Tree_View_Row_Separator_Func

type Gtk_Tree_View_Row_Separator_Func is access
     function (Model     : System.Address;
               Iter      : Gtk.Tree_Model.Gtk_Tree_Iter;
               User_Data : System.Address) return Gboolean;

Gtk_Tree_View_Search_Equal_Func

type Gtk_Tree_View_Search_Equal_Func is access
     function (Model  : System.Address;
               Column : Gint;
               Key    : Interfaces.C.Strings.chars_ptr;
               Iter   : Gtk.Tree_Model.Gtk_Tree_Iter;
               User_Data : System.Address) return Gboolean;

Gtk_Tree_View_Search_Position_Func

type Gtk_Tree_View_Search_Position_Func is access procedure
     (Tree_View     : System.Address;  --  Get_Object (Gtk_Tree_View_Record)
      Search_Dialog : System.Address;  --  Get_Object (Gtk_Widget'Class)
      User_Data     : System.Address);

Gtk_Tree_View_Column_Drop_Func

type Gtk_Tree_View_Column_Drop_Func is access
     function (Tree_View   : System.Address; --  Gtk_Tree_View
               Column      : System.Address; --  Gtk_Tree_View_Column
               Prev_Column : System.Address; --  Gtk_Tree_View_Column
               Next_Column : System.Address; --  Gtk_Tree_View_Column
               User_Data   : System.Address) return Gboolean;

Constants & Global variables

Enable_Grid_Lines_Property (Glib.Properties.Property_Enum)

Enable_Grid_Lines_Property : constant Glib.Properties.Property_Enum;

Enable_Search_Property (Glib.Properties.Property_Boolean)

Enable_Search_Property     : constant Glib.Properties.Property_Boolean;

Enable_Tree_Lines_Property (Glib.Properties.Property_Boolean)

Enable_Tree_Lines_Property : constant Glib.Properties.Property_Boolean;

Expander_Column_Property (Glib.Properties.Property_Object)

Expander_Column_Property   : constant Glib.Properties.Property_Object;

Fixed_Height_Mode_Property (Glib.Properties.Property_Boolean)

Fixed_Height_Mode_Property : constant Glib.Properties.Property_Boolean;

Hadjustment_Property (Glib.Properties.Property_Object)

Hadjustment_Property       : constant Glib.Properties.Property_Object;

Headers_Clickable_Property (Glib.Properties.Property_Boolean)

Headers_Clickable_Property : constant Glib.Properties.Property_Boolean;

Headers_Visible_Property (Glib.Properties.Property_Boolean)

Headers_Visible_Property   : constant Glib.Properties.Property_Boolean;

Hover_Expand_Property (Glib.Properties.Property_Boolean)

Hover_Expand_Property      : constant Glib.Properties.Property_Boolean;

Hover_Selection_Property (Glib.Properties.Property_Boolean)

Hover_Selection_Property   : constant Glib.Properties.Property_Boolean;

Level_Indentation_Property (Glib.Properties.Property_Int)

Level_Indentation_Property : constant Glib.Properties.Property_Int;

Reorderable_Property (Glib.Properties.Property_Boolean)

Reorderable_Property       : constant Glib.Properties.Property_Boolean;

Rubber_Banding_Property (Glib.Properties.Property_Boolean)

Rubber_Banding_Property    : constant Glib.Properties.Property_Boolean;

Search_Column_Property (Glib.Properties.Property_Int)

Search_Column_Property     : constant Glib.Properties.Property_Int;

Show_Expanders_Property (Glib.Properties.Property_Boolean)

Show_Expanders_Property    : constant Glib.Properties.Property_Boolean;

Tooltip_Column_Property (Glib.Properties.Property_Int)

Tooltip_Column_Property    : constant Glib.Properties.Property_Int;

Vadjustment_Property (Glib.Properties.Property_Object)

Vadjustment_Property       : constant Glib.Properties.Property_Object;

Allow_Rules_Property (Glib.Properties.Property_Boolean)

Allow_Rules_Property          : constant Glib.Properties.Property_Boolean;
Even_Row_Color_Property : constant Glib.Properties.Property_Boxed;

Expander_Size_Property (Glib.Properties.Property_Int)

Expander_Size_Property        : constant Glib.Properties.Property_Int;
Even_Row_Color_Property : constant Glib.Properties.Property_Boxed;

Grid_Line_Pattern_Property (Glib.Properties.Property_String)

Grid_Line_Pattern_Property    : constant Glib.Properties.Property_String;

Grid_Line_Width_Property (Glib.Properties.Property_Int)

Grid_Line_Width_Property      : constant Glib.Properties.Property_Int;

Horizontal_Separator_Property (Glib.Properties.Property_Int)

Horizontal_Separator_Property : constant Glib.Properties.Property_Int;

Indent_Expanders_Property (Glib.Properties.Property_Boolean)

Indent_Expanders_Property     : constant Glib.Properties.Property_Boolean;
Odd_Row_Color_Property : constant Glib.Properties.Property_Boxed;

Row_Ending_Details_Property (Glib.Properties.Property_Boolean)

Row_Ending_Details_Property   : constant Glib.Properties.Property_Boolean;
Odd_Row_Color_Property : constant Glib.Properties.Property_Boxed;

Tree_Line_Pattern_Property (Glib.Properties.Property_String)

Tree_Line_Pattern_Property    : constant Glib.Properties.Property_String;

Tree_Line_Width_Property (Glib.Properties.Property_Int)

Tree_Line_Width_Property      : constant Glib.Properties.Property_Int;

Vertical_Separator_Property (Glib.Properties.Property_Int)

Vertical_Separator_Property   : constant Glib.Properties.Property_Int;

Signal_Columns_Changed (Glib.Signal_Name)

Signal_Columns_Changed            : constant Glib.Signal_Name :=
                                         "columns_changed";

Signal_Cursor_Changed (Glib.Signal_Name)

Signal_Cursor_Changed             : constant Glib.Signal_Name :=
                                         "cursor_changed";

Signal_Expand_Collapse_Cursor_Row (Glib.Signal_Name)

Signal_Expand_Collapse_Cursor_Row : constant Glib.Signal_Name :=
                                         "expand_collapse_cursor_row";

Signal_Move_Cursor (Glib.Signal_Name)

Signal_Move_Cursor                : constant Glib.Signal_Name :=
                                         "move_cursor";

Signal_Row_Activated (Glib.Signal_Name)

Signal_Row_Activated              : constant Glib.Signal_Name :=
                                         "row_activated";

Signal_Row_Collapsed (Glib.Signal_Name)

Signal_Row_Collapsed              : constant Glib.Signal_Name :=
                                         "row_collapsed";

Signal_Row_Expanded (Glib.Signal_Name)

Signal_Row_Expanded               : constant Glib.Signal_Name :=
                                         "row_expanded";

Signal_Select_All (Glib.Signal_Name)

Signal_Select_All                 : constant Glib.Signal_Name :=
                                         "select_all";

Signal_Select_Cursor_Parent (Glib.Signal_Name)

Signal_Select_Cursor_Parent       : constant Glib.Signal_Name :=
                                         "select_cursor_parent";

Signal_Select_Cursor_Row (Glib.Signal_Name)

Signal_Select_Cursor_Row          : constant Glib.Signal_Name :=
                                         "select_cursor_row";

Signal_Set_Scroll_Adjustments (Glib.Signal_Name)

Signal_Set_Scroll_Adjustments     : constant Glib.Signal_Name :=
                                         "set_scroll_adjustments";

Signal_Start_Interactive_Search (Glib.Signal_Name)

Signal_Start_Interactive_Search   : constant Glib.Signal_Name :=
                                         "start_interactive_search";

Signal_Test_Collapse_Row (Glib.Signal_Name)

Signal_Test_Collapse_Row          : constant Glib.Signal_Name :=
                                         "test_collapse_row";

Signal_Test_Expand_Row (Glib.Signal_Name)

Signal_Test_Expand_Row            : constant Glib.Signal_Name :=
                                         "test_expand_row";

Signal_Toggle_Cursor_Row (Glib.Signal_Name)

Signal_Toggle_Cursor_Row          : constant Glib.Signal_Name :=
                                         "toggle_cursor_row";

Signal_Unselect_All (Glib.Signal_Name)

Signal_Unselect_All               : constant Glib.Signal_Name :=
                                         "unselect_all";

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(Widget: out Gtk_Tree_View);

Initialize

procedure Initialize 
(Widget: access Gtk_Tree_View_Record'Class);
Creates or initializes a new tree view

Get_Type

function Get_Type return Gtk.Gtk_Type;
Return the internal value associated with this widget.

Gtk_New

procedure Gtk_New 
(Widget: out Gtk_Tree_View;
Model: access Gtk.Tree_Model.Gtk_Tree_Model_Record'Class);

Initialize

procedure Initialize 
(Widget: access Gtk_Tree_View_Record'Class;
Model: access Gtk.Tree_Model.Gtk_Tree_Model_Record'Class);
Internal initialization function. See the section "Creating your own widgets" in the documentation.

Set_Model

procedure Set_Model 
(Tree_View: access Gtk_Tree_View_Record;
Model: Gtk.Tree_Model.Gtk_Tree_Model);

Get_Model

function Get_Model 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Tree_Model.Gtk_Tree_Model;
Sets the model for a Gtk_Tree_View. If the Tree_View already has a model set, it will remove it before setting the new model. If Model is Null, then it will unset the old model.

Get_Selection

function Get_Selection 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Tree_Selection.Gtk_Tree_Selection;
Gets the Gtk_Tree_Selection associated with Tree_View.

Set_Hadjustment

procedure Set_Hadjustment 
(Tree_View: access Gtk_Tree_View_Record;
Adjustment: access Gtk.Adjustment.Gtk_Adjustment_Record'Class);

Get_Hadjustment

function Get_Hadjustment 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Adjustment.Gtk_Adjustment;
Sets or gets the Gtk_Adjustment for the current horizontal aspect.

Set_Vadjustment

procedure Set_Vadjustment 
(Tree_View: access Gtk_Tree_View_Record;
Adjustment: access Gtk.Adjustment.Gtk_Adjustment_Record'Class);

Get_Vadjustment

function Get_Vadjustment 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Adjustment.Gtk_Adjustment;
Sets or Gets the Gtk_Adjustment currently being used for the vertical aspect.

Get_Enable_Tree_Lines

function Get_Enable_Tree_Lines 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;

Set_Enable_Tree_Lines

procedure Set_Enable_Tree_Lines 
(Tree_View: access Gtk_Tree_View_Record;
Enabled: Boolean);
Whether to draw lines interconnecting the expanders in Tree_View. This does not have any visible effects for lists.

Get_Grid_Lines

function Get_Grid_Lines 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Enums.Gtk_Grid_Lines;

Set_Grid_Lines

procedure Set_Grid_Lines 
(Tree_View: access Gtk_Tree_View_Record;
Grid_Lines: Gtk.Enums.Gtk_Grid_Lines);
Which grid lines to draw in Tree_View.

Get_Level_Indentation

function Get_Level_Indentation 
(Tree_View: access Gtk_Tree_View_Record) return Gint;

Set_Level_Indentation

procedure Set_Level_Indentation 
(Tree_View: access Gtk_Tree_View_Record;
Indentation: Gint);
Sets the amount of extra indentation for child levels to use in Tree_View in addition to the default indentation. The value should be specified in pixels, a value of 0 disables this feature and in this case only the default indentation will be used. This does not have any visible effects for lists.

Get_Rubber_Banding

function Get_Rubber_Banding 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;

Set_Rubber_Banding

procedure Set_Rubber_Banding 
(Tree_View: access Gtk_Tree_View_Record;
Enable: Boolean);
Enables or disables rubber banding in Tree_View. If the selection mode is Selection_Multiple, rubber banding will allow the user to select multiple rows by dragging the mouse.

Is_Rubber_Banding_Active

function Is_Rubber_Banding_Active 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
Returns whether a rubber banding operation is currently being done in Tree_View.

Get_Show_Expanders

function Get_Show_Expanders 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;

Set_Show_Expanders

procedure Set_Show_Expanders 
(Tree_View: access Gtk_Tree_View_Record;
Enabled: Boolean);
Whether to draw and enable expanders and indent child rows in Tree_View. When disabled there will be no expanders visible in trees and there will be no way to expand and collapse rows by default. Also note that hiding the expanders will disable the default indentation. You can set a custom indentation in this case using Set_Level_Indentation. This does not have any visible effects for lists.

Set_Headers_Visible

procedure Set_Headers_Visible 
(Tree_View: access Gtk_Tree_View_Record;
Headers_Visible: Boolean);

Get_Headers_Visible

function Get_Headers_Visible 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
Returns True if the headers on the Tree_View are visible.

Columns_Autosize

procedure Columns_Autosize 
(Tree_View: access Gtk_Tree_View_Record);
Resizes all columns to their optimal width.

Get_Headers_Clickable

function Get_Headers_Clickable 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;

Set_Headers_Clickable

procedure Set_Headers_Clickable 
(Tree_View: access Gtk_Tree_View_Record;
Setting: Boolean);
Allow the column title buttons to be clicked.

Set_Rules_Hint

procedure Set_Rules_Hint 
(Tree_View: access Gtk_Tree_View_Record;
Setting: Boolean);

Get_Rules_Hint

function Get_Rules_Hint 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
This function tells GtkAda that the user interface for your application requires users to read across tree rows and associate cells with one another. By default, GtkAda will then render the tree with alternating row colors. Do *not* use it just because you prefer the appearance of the ruled tree; that's a question for the theme. Some themes will draw tree rows in alternating colors even when rules are turned off, and users who prefer that appearance all the time can choose those themes. You should call this function only as a *semantic* hint to the theme engine that your tree makes alternating colors useful from a functional standpoint (since it has lots of columns, generally).

Append_Column

function Append_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column) return Gint;
Append Column to the list of columns.

Remove_Column

function Remove_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column) return Gint;
Remove Column from Tree_View. Return value: The number of columns in Tree_View after removing.

Insert_Column

function Insert_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Position: Gint := -1) return Gint;
Insert the Column into the Tree_View at Position. If Position is -1, then the column is inserted at the end. Return the number of columns in Tree_View after insertion.

Insert_Column_With_Data_Func

function Insert_Column_With_Data_Func 
(Tree_View: access Gtk_Tree_View_Record;
Position: Gint;
Title: String;
Cell: access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class;
Func: Gtk.Tree_View_Column.Cell_Data_Func) return Gint;
Convenience function that inserts a new column into the tree view with the given cell renderer and a function to set cell renderer attributes (normally using data from the model). See also Gtk.Tree_View_Column.Set_Cell_Data_Func and Gtk.Tree_View_Column.Pack_Start. If Tree_View has "fixed_height" mode enabled, then Column must have its "sizing" property set to be TREE_VIEW_COLUMN_FIXED. Return value: number of columns in the tree view post-insert

Get_Column

function Get_Column 
(Tree_View: access Gtk_Tree_View_Record;
N: Gint) return Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Gets the Gtk_Tree_View_Column at the given position in the Tree_View.

Get_Tree_View

function Get_Tree_View 
(Tree_Column: access Gtk.Tree_View_Column.Gtk_Tree_View_Column_Record) return Gtk_Tree_View;
Returns the Gtk_Tree_View wherein Tree_Column has been inserted. If Column is currently not inserted in any tree view, null is returned.

Get_Columns

function Get_Columns 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Tree_View_Column.Column_List.Glist;
Return a list of all the Gtk_Tree_View_Column s currently in Tree_View. The returned list must be freed with g_list_free ().

Move_Column_After

procedure Move_Column_After 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Base_Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column);
Move Column to be after to Base_Column. If Base_Column is Null, then Column is placed in the first position.

Set_Expander_Column

procedure Set_Expander_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column);
Set the column to draw the expander arrow at. It must be in Tree_View. If Column is Null, then the expander arrow is fixed at the first column.

Get_Expander_Column

function Get_Expander_Column 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Return the column that is the current expander column. This column has the expander arrow drawn next to it.

Scroll_To_Point

procedure Scroll_To_Point 
(Tree_View: access Gtk_Tree_View_Record;
Tree_X: Gint;
Tree_Y: Gint);
Scroll the tree view such that the top-left corner of the visible area is Tree_X, Tree_Y, where Tree_X and Tree_Y are specified in tree window coordinates. The Tree_View must be realized before this function is called. If it isn't, you probably want to be using Scroll_To_Cell.

Scroll_To_Cell

procedure Scroll_To_Cell 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Use_Align: Boolean;
Row_Align: Gfloat;
Col_Align: Gfloat);
Move the alignments of Tree_View to the position specified by Column and Path. If Column is Null, then no horizontal scrolling occurs. Likewise, if Path is Null no vertical scrolling occurs. Row_Align determines where the row is placed, and Col_align determines where Column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If Use_Align is False, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the cell onto the screen.

Get_Visible_Range

procedure Get_Visible_Range 
(Tree_View: access Gtk_Tree_View_Record;
Start_Path: out Gtk.Tree_Model.Gtk_Tree_Path;
End_Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Success: out Boolean);
Sets Start_path and End_path to be the first and last visible path. Note that there may be invisible paths in between. The paths should be freed with Free after use.

Row_Activated

procedure Row_Activated 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column);
Activate the cell determined by Path and Column.

Expand_All

procedure Expand_All 
(Tree_View: access Gtk_Tree_View_Record);
Recursively expand all nodes in the Tree_View.

Collapse_All

procedure Collapse_All 
(Tree_View: access Gtk_Tree_View_Record);
Recursively collapse all visible, expanded nodes in Tree_View.

Expand_Row

function Expand_Row 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Open_All: Boolean) return Boolean;
Open the row so its children are visible Return True if the row existed and had children

Expand_To_Path

procedure Expand_To_Path 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path);
Expands the row at Path. This will also expand all parent rows of Path as necessary.

Map_Expanded_Rows

procedure Map_Expanded_Rows 
(Tree_View: access Gtk_Tree_View_Record;
Func: Gtk_Tree_View_Mapping_Func;
Data: System.Address);
Calls Func on all expanded rows.

Collapse_Row

function Collapse_Row 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path) return Boolean;
Collapse a row (hides its child rows, if they exist.)

Row_Expanded

function Row_Expanded 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path) return Boolean;
Return True if the node pointed to by Path is expanded in Tree_View.

Set_Fixed_Height_Mode

procedure Set_Fixed_Height_Mode 
(Tree_View: access Gtk_Tree_View_Record;
Enable: Boolean);

Get_Fixed_Height_Mode

function Get_Fixed_Height_Mode 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
Enables or disables the fixed height mode of tree_view. Fixed height mode speeds up the rendering by assuming that all rows have the same height. Only enable this option if all rows are the same height and all columns are of type TREE_VIEW_COLUMN_FIXED.

Set_Hover_Expand

procedure Set_Hover_Expand 
(Tree_View: access Gtk_Tree_View_Record;
Expand: Boolean);

Get_Hover_Expand

function Get_Hover_Expand 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
Enables of disables the hover expansion mode of Tree_view. Hover expansion makes rows expand or collaps if the pointer moves over them.

Set_Hover_Selection

procedure Set_Hover_Selection 
(Tree_View: access Gtk_Tree_View_Record;
Hover: Boolean);

Get_Hover_Selection

function Get_Hover_Selection 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
Enables of disables the hover selection mode of Tree_View. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes SELECTION_SINGLE and SELECTION_BROWSE.

Set_Cursor

procedure Set_Cursor 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Focus_Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Start_Editing: Boolean);
Sets the current keyboard focus to be at Path, and selects it. This is useful when you want to focus the user's attention on a particular row. If Column is not Null, then focus is given to that column. Additionally, if Column is specified, and Start_Editing is True, then editing should be started in the specified cell. Keyboard focus is given to the widget after this is called. Please note that editing can only happen when the widget is realized.

Get_Cursor

procedure Get_Cursor 
(Tree_View: access Gtk_Tree_View_Record;
Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Focus_Column: out Gtk.Tree_View_Column.Gtk_Tree_View_Column);
Fills in Path and Focus_Column with the current path and focus column. If the cursor isn't currently set, then *path will be Null. If no column currently has focus, then *focus_column will be Null.

Set_Cursor_On_Cell

procedure Set_Cursor_On_Cell 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Focus_Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column := null;
Focus_Cell: Gtk.Cell_Renderer.Gtk_Cell_Renderer := null;
Start_Editing: Boolean);
Sets the current keyboard focus to be at Path, and selects it. This is useful when you want to focus the user's attention on a particular row. If Focus_Column is not null, then focus is given to the column specified by it. If Focus_Column and Focus_Cell are not null, and Focus_Column contains 2 or more editable or activatable cells, then focus is given to the cell specified by Focus_Cell. Additionally, if Focus_Column is specified, and Start_Editing is true, then editing should be started in the specified cell. This function is often followed by gtk.widget.grab_focus (Tree_View) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

Get_Bin_Window

function Get_Bin_Window 
(Tree_View: access Gtk_Tree_View_Record) return Gdk.Window.Gdk_Window;
Return the window that Tree_View renders to. This is used primarily to compare to Get_Window (Event) to confirm that the event on Tree_View is on the right window.

Set_Row_Separator_Func

procedure Set_Row_Separator_Func 
(Tree_View: access Gtk_Tree_View_Record;
Func: Gtk_Tree_View_Row_Separator_Func;
Data: System.Address;
Destroy: Glib.G_Destroy_Notify_Address := null);

Get_Row_Separator_Func

function Get_Row_Separator_Func 
(Tree_View: access Gtk_Tree_View_Record) return Gtk_Tree_View_Row_Separator_Func;
Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is NULL, no separators are drawn. This is the default value.

Get_Path_At_Pos

procedure Get_Path_At_Pos 
(Tree_View: access Gtk_Tree_View_Record;
X: Gint;
Y: Gint;
Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Column: out Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Cell_X: out Gint;
Cell_Y: out Gint;
Row_Found: out Boolean);
Find the path at the point (X, Y) relative to Window. If Window is null, then the point is found relative to the widget coordinates. This function is expected to be called after an event. It is primarily for things like popup menus. Path will be filled with the Gtk_Tree_Path at that point. It should be freed with Tree_Path_Free. Column will be filled with the column at that point. Cell_X and Cell_Y return the coordinates relative to the cell background (i.e. the background_area passed to gtk_cell_renderer_render()). This function only works if Tree_View is realized. Row_Found is set to True if a row exists at that coordinate.

Get_Cell_Area

Fills the bounding rectangle in tree window coordinates for the cell at the row specified by Path and the column specified by Column. If Path is Null, or points to a path not currently displayed, the Y and Height fields of the rectangle will be filled with 0. If Column is Null, the X and Width fields will be filled with 0. The sum of all cell rects does not cover the entire tree; there are extra pixels in between rows, for example. The returned rectangle is equivalent to the Cell_Area passed to gtk_cell_renderer_render(). This function is only valid if Tree_View is realized.

Get_Background_Area

procedure Get_Background_Area 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Column: Gtk.Tree_View_Column.Gtk_Tree_View_Column;
Rect: out Gdk.Rectangle.Gdk_Rectangle);
Fills the bounding rectangle in tree window coordinates for the cell at the row specified by Path and the column specified by Column. If Path is Null, or points to a node not found in the tree, the Y and Height fields of the rectangle will be filled with 0. If Column is Null, the X and Width fields will be filled with 0. The returned rectangle is equivalent to the Background_Area passed to Gtk.Cell_Renderer.Render. These background areas tile to cover the entire tree window (except for the area used for header buttons). Contrast with the cell_area, returned by gtk_tree_view_get_cell_area(), which returns only the cell itself, excluding surrounding borders and the tree expander area.

Get_Visible_Rect

procedure Get_Visible_Rect 
(Tree_View: access Gtk_Tree_View_Record;
Visible_Rect: out Gdk.Rectangle.Gdk_Rectangle);
Fills Visible_Rect with the currently-visible region of the buffer, in tree coordinates. Convert to widget coordinates with gtk_tree_view_tree_to_widget_coords(). Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire scrollable area of the tree.

Widget_To_Tree_Coords

procedure Widget_To_Tree_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Wx: Gint;
Wy: Gint;
Tx: out Gint;
Ty: out Gint);
Widget_To_Tree_Coords Converts widget coordinates to coordinates for the tree window (the full scrollable area of the tree). Obsolescent; use Convert_Widget_To_Tree_Coords instead.

Tree_To_Widget_Coords

procedure Tree_To_Widget_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Tx: Gint;
Ty: Gint;
Wx: out Gint;
Wy: out Gint);
Tree_To_Widget_Coords Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates. Obsolescent; use Convert_Tree_To_Widget_Coords instead.

Convert_Widget_To_Tree_Coords

procedure Convert_Widget_To_Tree_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Wx: Gint;
Wy: Gint;
Tx: out Gint;
Ty: out Gint);
Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).

Convert_Tree_To_Widget_Coords

procedure Convert_Tree_To_Widget_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Tx: Gint;
Ty: Gint;
Wx: out Gint;
Wy: out Gint);
Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.

Convert_Bin_Window_To_Tree_Coords

procedure Convert_Bin_Window_To_Tree_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Bx: Gint;
By: Gint;
Tx: out Gint;
Ty: out Gint);
Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).

Convert_Tree_To_Bin_Window_Coords

procedure Convert_Tree_To_Bin_Window_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Tx: Gint;
Ty: Gint;
Bx: out Gint;
By: out Gint);
Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.

Convert_Widget_To_Bin_Window_Coords

procedure Convert_Widget_To_Bin_Window_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Wx: Gint;
Wy: Gint;
Bx: out Gint;
By: out Gint);
Converts widget coordinates to coordinates for the Bin_Window (see Get_Bin_Window).

Convert_Bin_Window_To_Widget_Coords

procedure Convert_Bin_Window_To_Widget_Coords 
(Tree_View: access Gtk_Tree_View_Record;
Bx: Gint;
By: Gint;
Wx: out Gint;
Wy: out Gint);
Converts Bin_Window coordinates (see Get_Bin_Window) to widget relative coordinates.

Set_Enable_Search

procedure Set_Enable_Search 
(Tree_View: access Gtk_Tree_View_Record;
Enable_Search: Boolean);

Get_Enable_Search

function Get_Enable_Search 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
If enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find"). Note that even if this is FALSE, the user can still initiate a search using the "start-interactive-search" key binding.

Set_Search_Column

procedure Set_Search_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gint);

Get_Search_Column

function Get_Search_Column 
(Tree_View: access Gtk_Tree_View_Record) return Gint;
Sets column as the column where the interactive search code should search in. If the sort column is set, users can use the "start-interactive-search" key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search. Note that column refers to a column of the model.

Set_Search_Equal_Func

procedure Set_Search_Equal_Func 
(Tree_View: access Gtk_Tree_View_Record;
Search_Equal_Func: Gtk_Tree_View_Search_Equal_Func;
Search_User_Data: System.Address;
Search_Destroy: G_Destroy_Notify_Address := null);

Get_Search_Equal_Func

function Get_Search_Equal_Func 
(Tree_View: access Gtk_Tree_View_Record) return Gtk_Tree_View_Search_Equal_Func;
Sets the compare function for the interactive search capabilities

Get_Search_Entry

function Get_Search_Entry 
(Tree_View: access Gtk_Tree_View_Record) return Gtk.GEntry.Gtk_Entry;

Set_Search_Entry

procedure Set_Search_Entry 
(Tree_View: access Gtk_Tree_View_Record;
The_Entry: access Gtk.GEntry.Gtk_Entry_Record'Class);
Gets/Sets the entry which the interactive search code will use for this Tree_View. This is useful when you want to provide a search entry in our interface at all time at a fixed position. A null Gtk_Entry will make the interactive search code use the built-in popup entry again.

Get_Search_Position_Func

function Get_Search_Position_Func 
(Tree_View: access Gtk_Tree_View_Record) return Gtk_Tree_View_Search_Position_Func;

Set_Search_Position_Func

procedure Set_Search_Position_Func 
(Tree_View: access Gtk_Tree_View_Record;
Func: Gtk_Tree_View_Search_Position_Func;
Data: System.Address;
Destroy: G_Destroy_Notify);
Gets/Sets the function to use when positioning the search dialog.

Set_Tooltip_Cell

procedure Set_Tooltip_Cell 
(Tree_View: access Gtk_Tree_View_Record;
Tooltip: access Gtk.Tooltip.Gtk_Tooltip_Record'Class;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Column: access Gtk.Tree_View_Column.Gtk_Tree_View_Column_Record'Class;
Cell: access Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record'Class);
Sets the tip area of Tooltip to the area Path, Column and Cell have in common. For example, if Path is null and Column is set, the tip area will be set to the full area covered by Column. See also Gtk.Tooltip.Set_Tip_Area. Note that if Path is not specified and Cell is set and part of a column containing the expander, the tooltip might not show and hide at the correct position. In such cases Path must be set to the current node under the mouse cursor for this function to operate correctly. See also Set_Tooltip_Column for a simpler alternative.

Set_Tooltip_Column

procedure Set_Tooltip_Column 
(Tree_View: access Gtk_Tree_View_Record;
Column: Gint);

Get_Tooltip_Column

function Get_Tooltip_Column 
(Tree_View: access Gtk_Tree_View_Record) return Gint;
If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have Gtk_Tree_View handle these automatically for you. Column should be set to the column in tree_view's model containing the tooltip texts, or -1 to disable this feature. When enabled, "has-tooltip" will be set to TRUE and tree_view will connect a "query-tooltip" signal handler. Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &, <, etc have to be escaped in the text.

Get_Tooltip_Context

procedure Get_Tooltip_Context 
(Tree_View: access Gtk_Tree_View_Record;
X: in out Glib.Gint;
Y: in out Glib.Gint;
Keyboard_Mode: Boolean;
Model: out Gtk.Tree_Model.Gtk_Tree_Model;
Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Iter: out Gtk.Tree_Model.Gtk_Tree_Iter;
Success: out Boolean);
This function is supposed to be used in a "query-tooltip" signal handler for Gtk_Tree_View. The x, y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification. The Success indicates whether there is a tree view row at the given coordinates (True) or not (False) for mouse tooltips. For keyboard tooltips the row returned will be the cursor row. When True, then any of model, path and iter which have been provided will be set to point to that row and the corresponding model. x and y will always be converted to be relative to tree_view's bin_window if keyboard_tooltip is False.

Set_Tooltip_Row

procedure Set_Tooltip_Row 
(Tree_View: access Gtk_Tree_View_Record;
Tooltip: access Gtk.Tooltip.Gtk_Tooltip_Record'Class;
Path: Gtk.Tree_Model.Gtk_Tree_Path);
Sets the tip area of tooltip to be the area covered by the row at path. See also Set_Tooltip_Column for a simpler alternative. See also Gtk.Tooltips.Set_Tip_Area.

Set_Reorderable

procedure Set_Reorderable 
(Tree_View: access Gtk_Tree_View_Record;
Reorderable: Boolean);

Get_Reorderable

function Get_Reorderable 
(Tree_View: access Gtk_Tree_View_Record) return Boolean;
This function is a convenience function to allow you to reorder models that support the Gtk_Drag_Source_Iface and the Gtk_Drag_Dest_Iface. Both Gtk_Tree_Store and Gtk_List_Store support these. If Reorderable is True, then the user can reorder the model by dragging and dropping columns. The developer can listen to these changes by connecting to the model's signals. This function does not give you any degree of control over the order - any reorderering is allowed. If more control is needed, you should probably handle drag and drop manually.

Set_Column_Drag_Function

procedure Set_Column_Drag_Function 
(Tree_View: access Gtk_Tree_View_Record;
Func: Gtk_Tree_View_Column_Drop_Func;
User_Data: System.Address;
Destroy: Glib.G_Destroy_Notify_Address);
Sets a user function for determining where a column may be dropped. If Func is set to be %NULL, then Tree_View reverts to the default behavior of allowing all columns to be dropped everywhere.

Enable_Model_Drag_Dest

procedure Enable_Model_Drag_Dest 
(Tree_View: access Gtk_Tree_View_Record;
Targets: Gtk.Selection.Target_Entry_Array;
Actions: Gdk.Dnd.Drag_Action);
Turns Tree_View into a drop destination for automatic drag-and-drop. Targets is the table of targets that the drag will support. Actions is a bitmask of possible actions for a drag to this widget.

Enable_Model_Drag_Source

procedure Enable_Model_Drag_Source 
(Tree_View: access Gtk_Tree_View_Record;
Start_Button_Mask: Gdk.Types.Gdk_Modifier_Type;
Targets: Gtk.Selection.Target_Entry_Array;
Actions: Gdk.Dnd.Drag_Action);
Turns Tree_View into a drag source for automatic DND. Targets is the list of targets that the drag will support. Actions is the bitmask of possible actions for a drag from this widget. Start_Button_Mask is the mask of allowed buttons to start the drag. You need to connect to the usual dnd signals (see gtk-dnd.ads) to provide the actual data upon request.

Unset_Rows_Drag_Source

procedure Unset_Rows_Drag_Source 
(Tree_View: access Gtk_Tree_View_Record);
Undoes the effect of Enable_Model_Drag_Source.

Unset_Rows_Drag_Dest

procedure Unset_Rows_Drag_Dest 
(Tree_View: access Gtk_Tree_View_Record);
Undoes the effect of Enable_Model_Drag_Dest.

Create_Row_Drag_Icon

function Create_Row_Drag_Icon 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path) return Gdk.Pixmap.Gdk_Pixmap;
Creates a Gdk_Pixmap representation of the row at path. This image is used for a drag icon. The returned pixmap must be freed by the user

Get_Dest_Row_At_Pos

procedure Get_Dest_Row_At_Pos 
(Tree_View: access Gtk_Tree_View_Record;
Drag_X: Gint;
Drag_Y: Gint;
Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Pos: out Gtk_Tree_View_Drop_Position;
Success: out Boolean);
Determines the destination row for a given position. (Drag_X, Drag_Y) is the position to determine the destination row for.

Set_Drag_Dest_Row

procedure Set_Drag_Dest_Row 
(Tree_View: access Gtk_Tree_View_Record;
Path: Gtk.Tree_Model.Gtk_Tree_Path;
Pos: Gtk_Tree_View_Drop_Position);

Get_Drag_Dest_Row

procedure Get_Drag_Dest_Row 
(Tree_View: access Gtk_Tree_View_Record;
Path: out Gtk.Tree_Model.Gtk_Tree_Path;
Pos: out Gtk_Tree_View_Drop_Position);
Sets or gets information about the row that is highlighted for feedback.