## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Tree_View

- Goto spec source

# 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

# Classes

### Gtk_Tree_View_Record

- Goto declaration in source
- Goto full declaration in source

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

#### Ancestors:

Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Primitive operations:

Append_Column

- To API doc
- To spec

Collapse_All

- To API doc
- To spec

Collapse_Row

- To API doc
- To spec

Columns_Autosize

- To API doc
- To spec

Convert_Bin_Window_To_Tree_Coords

- To API doc
- To spec

Convert_Bin_Window_To_Widget_Coords

- To API doc
- To spec

Convert_Tree_To_Bin_Window_Coords

- To API doc
- To spec

Convert_Tree_To_Widget_Coords

- To API doc
- To spec

Convert_Widget_To_Bin_Window_Coords

- To API doc
- To spec

Convert_Widget_To_Tree_Coords

- To API doc
- To spec

Create_Row_Drag_Icon

- To API doc
- To spec

Enable_Model_Drag_Dest

- To API doc
- To spec

Enable_Model_Drag_Source

- To API doc
- To spec

Expand_All

- To API doc
- To spec

Expand_Row

- To API doc
- To spec

Expand_To_Path

- To API doc
- To spec

Get_Background_Area

- To API doc
- To spec

Get_Bin_Window

- To API doc
- To spec

Get_Cell_Area

- To API doc
- To spec

Get_Column

- To API doc
- To spec

Get_Columns

- To API doc
- To spec

Get_Cursor

- To API doc
- To spec

Get_Dest_Row_At_Pos

- To API doc
- To spec

Get_Drag_Dest_Row

- To API doc
- To spec

Get_Enable_Search

- To API doc
- To spec

Get_Enable_Tree_Lines

- To API doc
- To spec

Get_Expander_Column

- To API doc
- To spec

Get_Fixed_Height_Mode

- To API doc
- To spec

Get_Grid_Lines

- To API doc
- To spec

Get_Hadjustment

- To API doc
- To spec

Get_Headers_Clickable

- To API doc
- To spec

Get_Headers_Visible

- To API doc
- To spec

Get_Hover_Expand

- To API doc
- To spec

Get_Hover_Selection

- To API doc
- To spec

Get_Level_Indentation

- To API doc
- To spec

Get_Model

- To API doc
- To spec

Get_Path_At_Pos

- To API doc
- To spec

Get_Reorderable

- To API doc
- To spec

Get_Row_Separator_Func

- To API doc
- To spec

Get_Rubber_Banding

- To API doc
- To spec

Get_Rules_Hint

- To API doc
- To spec

Get_Search_Column

- To API doc
- To spec

Get_Search_Entry

- To API doc
- To spec

Get_Search_Equal_Func

- To API doc
- To spec

Get_Search_Position_Func

- To API doc
- To spec

Get_Selection

- To API doc
- To spec

Get_Show_Expanders

- To API doc
- To spec

Get_Tooltip_Column

- To API doc
- To spec

Get_Tooltip_Context

- To API doc
- To spec

Get_Vadjustment

- To API doc
- To spec

Get_Visible_Range

- To API doc
- To spec

Get_Visible_Rect

- To API doc
- To spec

Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Container.Add

- To API doc
- To spec

(Inherited)
Gtk.Container.Check_Resize

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Set_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Type

- To API doc
- To spec

(Inherited)
Gtk.Container.Forall

- To API doc
- To spec

(Inherited)
Gtk.Container.Foreach

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Propagate_Expose

- To API doc
- To spec

(Inherited)
Gtk.Container.Remove

- To API doc
- To spec

(Inherited)
Gtk.Container.Resize_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Reallocate_Redraws

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Unset_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Widget.Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Insert_Column

- To API doc
- To spec

Insert_Column_With_Data_Func

- To API doc
- To spec

Is_Rubber_Banding_Active

- To API doc
- To spec

Map_Expanded_Rows

- To API doc
- To spec

Move_Column_After

- To API doc
- To spec

Remove_Column

- To API doc
- To spec

Row_Activated

- To API doc
- To spec

Row_Expanded

- To API doc
- To spec

Scroll_To_Cell

- To API doc
- To spec

Scroll_To_Point

- To API doc
- To spec

Set_Column_Drag_Function

- To API doc
- To spec

Set_Cursor

- To API doc
- To spec

Set_Cursor_On_Cell

- To API doc
- To spec

Set_Drag_Dest_Row

- To API doc
- To spec

Set_Enable_Search

- To API doc
- To spec

Set_Enable_Tree_Lines

- To API doc
- To spec

Set_Expander_Column

- To API doc
- To spec

Set_Fixed_Height_Mode

- To API doc
- To spec

Set_Grid_Lines

- To API doc
- To spec

Set_Hadjustment

- To API doc
- To spec

Set_Headers_Clickable

- To API doc
- To spec

Set_Headers_Visible

- To API doc
- To spec

Set_Hover_Expand

- To API doc
- To spec

Set_Hover_Selection

- To API doc
- To spec

Set_Level_Indentation

- To API doc
- To spec

Set_Model

- To API doc
- To spec

Set_Reorderable

- To API doc
- To spec

Set_Row_Separator_Func

- To API doc
- To spec

Set_Rubber_Banding

- To API doc
- To spec

Set_Rules_Hint

- To API doc
- To spec

Set_Search_Column

- To API doc
- To spec

Set_Search_Entry

- To API doc
- To spec

Set_Search_Equal_Func

- To API doc
- To spec

Set_Search_Position_Func

- To API doc
- To spec

Set_Show_Expanders

- To API doc
- To spec

Set_Tooltip_Cell

- To API doc
- To spec

Set_Tooltip_Column

- To API doc
- To spec

Set_Tooltip_Row

- To API doc
- To spec

Set_Vadjustment

- To API doc
- To spec

Tree_To_Widget_Coords

- To API doc
- To spec

Unset_Rows_Drag_Dest

- To API doc
- To spec

Unset_Rows_Drag_Source

- To API doc
- To spec

Widget_To_Tree_Coords

- To API doc
- To spec

# Types

### Gtk_Tree_View

- Goto declaration in source

    type Gtk_Tree_View is access all Gtk_Tree_View_Record'Class;

### Gtk_Tree_View_Drop_Position

- Goto declaration in source

    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

- Goto declaration in source

    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

- Goto declaration in source

    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

- Goto declaration in source

    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

- Goto declaration in source

    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

- Goto declaration in source

    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

- Goto declaration in source

(Glib.Properties.Property_Enum)

    Enable_Grid_Lines_Property : constant Glib.Properties.Property_Enum;

### Enable_Search_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Enable_Search_Property     : constant Glib.Properties.Property_Boolean;

### Enable_Tree_Lines_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Enable_Tree_Lines_Property : constant Glib.Properties.Property_Boolean;

### Expander_Column_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Expander_Column_Property   : constant Glib.Properties.Property_Object;

### Fixed_Height_Mode_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Fixed_Height_Mode_Property : constant Glib.Properties.Property_Boolean;

### Hadjustment_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Hadjustment_Property       : constant Glib.Properties.Property_Object;

### Headers_Clickable_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Headers_Clickable_Property : constant Glib.Properties.Property_Boolean;

### Headers_Visible_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Headers_Visible_Property   : constant Glib.Properties.Property_Boolean;

### Hover_Expand_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Hover_Expand_Property      : constant Glib.Properties.Property_Boolean;

### Hover_Selection_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Hover_Selection_Property   : constant Glib.Properties.Property_Boolean;

### Level_Indentation_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Level_Indentation_Property : constant Glib.Properties.Property_Int;

### Model_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Model_Property             : constant Glib.Properties.Property_Object;

### Reorderable_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Reorderable_Property       : constant Glib.Properties.Property_Boolean;

### Rubber_Banding_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Rubber_Banding_Property    : constant Glib.Properties.Property_Boolean;

### Rules_Hint_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Rules_Hint_Property        : constant Glib.Properties.Property_Boolean;

### Search_Column_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Search_Column_Property     : constant Glib.Properties.Property_Int;

### Show_Expanders_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Show_Expanders_Property    : constant Glib.Properties.Property_Boolean;

### Tooltip_Column_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Tooltip_Column_Property    : constant Glib.Properties.Property_Int;

### Vadjustment_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Vadjustment_Property       : constant Glib.Properties.Property_Object;

### Allow_Rules_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Allow_Rules_Property          : constant Glib.Properties.Property_Boolean;

Even_Row_Color_Property : constant Glib.Properties.Property_Boxed;

### Expander_Size_Property

- Goto declaration in source

(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

- Goto declaration in source

(Glib.Properties.Property_String)

    Grid_Line_Pattern_Property    : constant Glib.Properties.Property_String;

### Grid_Line_Width_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Grid_Line_Width_Property      : constant Glib.Properties.Property_Int;

### Horizontal_Separator_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Horizontal_Separator_Property : constant Glib.Properties.Property_Int;

### Indent_Expanders_Property

- Goto declaration in source

(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

- Goto declaration in source

(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

- Goto declaration in source

(Glib.Properties.Property_String)

    Tree_Line_Pattern_Property    : constant Glib.Properties.Property_String;

### Tree_Line_Width_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Tree_Line_Width_Property      : constant Glib.Properties.Property_Int;

### Vertical_Separator_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Vertical_Separator_Property   : constant Glib.Properties.Property_Int;

### Signal_Columns_Changed

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Cursor_Changed

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Expand_Collapse_Cursor_Row

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Move_Cursor

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Row_Activated

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Row_Collapsed

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Row_Expanded

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Select_All

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Select_Cursor_Parent

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Select_Cursor_Row

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Set_Scroll_Adjustments

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Start_Interactive_Search

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Test_Collapse_Row

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Test_Expand_Row

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Toggle_Cursor_Row

- Goto declaration in source

(Glib.Signal_Name)

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

### Signal_Unselect_All

- Goto declaration in source

(Glib.Signal_Name)

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

# Subprograms & Entries

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Widget: out Gtk_Tree_View);

### Initialize

- Goto spec in source

    procedure Initialize (Widget: access Gtk_Tree_View_Record'Class);

Creates or initializes a new tree view

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Gtk.Gtk_Type;

Return the internal value associated with this widget.

### Gtk_New

- Goto spec in source

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

### Initialize

- Goto spec in source

    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

- Goto spec in source

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

### Get_Model

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Hadjustment

- Goto spec in source

    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

- Goto spec in source

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

### Get_Vadjustment

- Goto spec in source

    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

- Goto spec in source

    function Get_Enable_Tree_Lines (Tree_View: access Gtk_Tree_View_Record) return Boolean;

### Set_Enable_Tree_Lines

- Goto spec in source

    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

- Goto spec in source

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

### Set_Grid_Lines

- Goto spec in source

    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

- Goto spec in source

    function Get_Level_Indentation (Tree_View: access Gtk_Tree_View_Record) return Gint;

### Set_Level_Indentation

- Goto spec in source

    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

- Goto spec in source

    function Get_Rubber_Banding (Tree_View: access Gtk_Tree_View_Record) return Boolean;

### Set_Rubber_Banding

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    function Get_Show_Expanders (Tree_View: access Gtk_Tree_View_Record) return Boolean;

### Set_Show_Expanders

- Goto spec in source

    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

- Goto spec in source

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

### Get_Headers_Visible

- Goto spec in source

    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

- Goto spec in source

    procedure Columns_Autosize (Tree_View: access Gtk_Tree_View_Record);

Resizes all columns to their optimal width.

### Get_Headers_Clickable

- Goto spec in source

    function Get_Headers_Clickable (Tree_View: access Gtk_Tree_View_Record) return Boolean;

### Set_Headers_Clickable

- Goto spec in source

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

Allow the column title buttons to be clicked.

### Set_Rules_Hint

- Goto spec in source

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

### Get_Rules_Hint

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    procedure Expand_All (Tree_View: access Gtk_Tree_View_Record);

Recursively expand all nodes in the Tree_View.

### Collapse_All

- Goto spec in source

    procedure Collapse_All (Tree_View: access Gtk_Tree_View_Record);

Recursively collapse all visible, expanded nodes in Tree_View.

### Expand_Row

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Fixed_Height_Mode

- Goto spec in source

    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

- Goto spec in source

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

### Get_Hover_Expand

- Goto spec in source

    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

- Goto spec in source

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

### Get_Hover_Selection

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    procedure Get_Cell_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 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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Enable_Search

- Goto spec in source

    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

- Goto spec in source

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

### Get_Search_Column

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Set_Search_Entry

- Goto spec in source

    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

- Goto spec in source

    function Get_Search_Position_Func (Tree_View: access Gtk_Tree_View_Record) return Gtk_Tree_View_Search_Position_Func;

### Set_Search_Position_Func

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Tooltip_Column

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

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

### Get_Reorderable

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in 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

- Goto spec in 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

- Goto spec in source

    procedure Unset_Rows_Drag_Dest (Tree_View: access Gtk_Tree_View_Record);

Undoes the effect of Enable_Model_Drag_Dest.

### Create_Row_Drag_Icon

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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

- Goto spec in source

    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.