## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Ctree

- Goto spec source

# Description

    package Gtk.Ctree is

This widget is deprecated. Use Gtk.Tree_View instead.

This widget is similar to Gtk_Clist but it displays a tree with expandable nodes instead of a simple list. Gtk_Tree is a more flexible tree widget (it can have arbitrary widgets in the tree cells), but it is less efficient and is limited to 32768 pixels.

If you need horizontal or vertical scrolling, you mustn't put this widget in a Gtk_Viewport, and then in a Gtk_Scrolled_Window. Put it directly into a Gtk_Scrolled_Window, or horizontal scrolling will be disabled, and the column headers will disappear when scrolling vertically.

Binding from C File version 2.8.17

<testgtk>create_ctree.adb</testgtk>

# Packages

### Row_List (new Glib.Glist.Generic_List)

    package Row_List is new Glib.Glist.Generic_List (Gtk_Ctree_Row);

### Node_List (new Glib.Glist.Generic_List)

    package Node_List is new Glib.Glist.Generic_List (Gtk_Ctree_Node);

</doc_ignore>

### Ctree_Gnode (generic)

Full description

### Row_Data (generic)

<doc_ignore>
Full description

# Classes

### Gtk_Ctree_Record

- Goto declaration in source
- Goto full declaration in source

    type Gtk_Ctree_Record is new Gtk.Clist.Gtk_Clist_Record with private;

#### Ancestors:

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

#### Primitive operations:

Collapse

- To API doc
- To spec

Collapse_Recursive

- To API doc
- To spec

Collapse_To_Depth

- To API doc
- To spec

Expand

- To API doc
- To spec

Expand_Recursive

- To API doc
- To spec

Expand_To_Depth

- To API doc
- To spec

Find

- To API doc
- To spec

Find_Node_Ptr

- To API doc
- To spec

Get_Expander_Style

- To API doc
- To spec

Get_Line_Style

- To API doc
- To spec

Get_Node_Info

- To API doc
- To spec

Get_Node_List

- To API doc
- To spec

Get_Row_List

- To API doc
- To spec

Get_Selection

- To API doc
- To spec

Get_Show_Stub

- 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.Clist.Append

- To API doc
- To spec

(Inherited)
Gtk.Clist.Clear

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Title_Active

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Title_Passive

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Titles_Active

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Titles_Hide

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Titles_Passive

- To API doc
- To spec

(Inherited)
Gtk.Clist.Column_Titles_Show

- To API doc
- To spec

(Inherited)
Gtk.Clist.Columns_Autosize

- To API doc
- To spec

(Inherited)
Gtk.Clist.Freeze

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Cell_Style

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Cell_Type

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Clist_Window

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Column_Title

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Column_Widget

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Columns

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Focus_Row

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Pixmap

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Pixmap

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Pixtext

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Row_List

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Row_Style

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Rows

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Selectable

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Selection

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Selection_Info

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Selection_Mode

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Sort_Column

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Sort_Type

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Text

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Text

- To API doc
- To spec

(Inherited)
Gtk.Clist.Get_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Clist.Insert

- To API doc
- To spec

(Inherited)
Gtk.Clist.Moveto

- To API doc
- To spec

(Inherited)
Gtk.Clist.Optimal_Column_Width

- To API doc
- To spec

(Inherited)
Gtk.Clist.Prepend

- To API doc
- To spec

(Inherited)
Gtk.Clist.Remove

- To API doc
- To spec

(Inherited)
Gtk.Clist.Row_Is_Visible

- To API doc
- To spec

(Inherited)
Gtk.Clist.Row_Move

- To API doc
- To spec

(Inherited)
Gtk.Clist.Select_All

- To API doc
- To spec

(Inherited)
Gtk.Clist.Select_Row

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Auto_Sort

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Background

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Button_Actions

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Cell_Contents

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Cell_Style

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Auto_Resize

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Justification

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Max_Width

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Min_Width

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Resizeable

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Title

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Visibility

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Widget

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Column_Width

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Compare_Func

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Foreground

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Pixmap

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Pixtext

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Reorderable

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Row_Height

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Row_Style

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Selectable

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Selection_Mode

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Shadow_Type

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Shift

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Show_Titles

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Sort_Column

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Sort_Type

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Text

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Use_Drag_Icons

- To API doc
- To spec

(Inherited)
Gtk.Clist.Set_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Clist.Sort

- To API doc
- To spec

(Inherited)
Gtk.Clist.Swap_Rows

- To API doc
- To spec

(Inherited)
Gtk.Clist.Thaw

- To API doc
- To spec

(Inherited)
Gtk.Clist.Undo_Selection

- To API doc
- To spec

(Inherited)
Gtk.Clist.Unselect_All

- To API doc
- To spec

(Inherited)
Gtk.Clist.Unselect_Row

- 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)
Gtk_Select

- To API doc
- To spec

Insert_Node

- To API doc
- To spec

Is_Ancestor

- To API doc
- To spec

Is_Hot_Spot

- To API doc
- To spec

Is_Viewable

- To API doc
- To spec

Last

- To API doc
- To spec

Move

- To API doc
- To spec

Node_Get_Cell_Style

- To API doc
- To spec

Node_Get_Cell_Type

- To API doc
- To spec

Node_Get_Pixmap

- To API doc
- To spec

Node_Get_Pixtext

- To API doc
- To spec

Node_Get_Row_Style

- To API doc
- To spec

Node_Get_Selectable

- To API doc
- To spec

Node_Get_Text

- To API doc
- To spec

Node_Is_Visible

- To API doc
- To spec

Node_Moveto

- To API doc
- To spec

Node_Nth

- To API doc
- To spec

Node_Set_Background

- To API doc
- To spec

Node_Set_Cell_Style

- To API doc
- To spec

Node_Set_Foreground

- To API doc
- To spec

Node_Set_Pixmap

- To API doc
- To spec

Node_Set_Pixtext

- To API doc
- To spec

Node_Set_Row_Style

- To API doc
- To spec

Node_Set_Selectable

- To API doc
- To spec

Node_Set_Shift

- To API doc
- To spec

Node_Set_Text

- To API doc
- To spec

Real_Select_Recursive

- To API doc
- To spec

Remove_Node

- To API doc
- To spec

Select_Recursive

- To API doc
- To spec

Set_Drag_Compare_Func

- To API doc
- To spec

Set_Expander_Style

- To API doc
- To spec

Set_Indent

- To API doc
- To spec

Set_Line_Style

- To API doc
- To spec

Set_Node_Info

- To API doc
- To spec

Set_Show_Stub

- To API doc
- To spec

Set_Spacing

- To API doc
- To spec

Sort_Node

- To API doc
- To spec

Sort_Recursive

- To API doc
- To spec

Toggle_Expansion

- To API doc
- To spec

Toggle_Expansion_Recursive

- To API doc
- To spec

Unselect

- To API doc
- To spec

Unselect_Recursive

- To API doc
- To spec

Gtk.Clist is obsolescent;

# Types

### Gtk_Ctree

- Goto declaration in source

    type Gtk_Ctree is access all Gtk_Ctree_Record'Class;

### Gtk_Ctree_Row

- Goto declaration in source

    type Gtk_Ctree_Row is new Gtk.Clist.Gtk_Clist_Row;

### Gtk_Ctree_Node

- Goto declaration in source

    type Gtk_Ctree_Node is new Gdk.C_Proxy;

This type represents a node inside a Ctree.

### Gtk_Ctree_Line_Style

- Goto declaration in source

    type Gtk_Ctree_Line_Style is
         (Ctree_Lines_None,
          --  No line will be drawn in the Ctree

          Ctree_Lines_Solid,
          --  Solid lines will be drawn

          Ctree_Lines_Dotted,
          --  Dotted lines will be drawn

          Ctree_Lines_Tabbed
          --  The tree won't be highlighted by lines but by tabs surrounding nodes
         );

### Gtk_Ctree_Expander_Style

- Goto declaration in source

    type Gtk_Ctree_Expander_Style is
         (Ctree_Expander_None,
          --  No pixmap will be drawn, you will have to double-click on the node to
          --  expand it.

          Ctree_Expander_Square,
          --  The pixmap will be a square

          Ctree_Expander_Triangle,
          --  The pixmap will be a triangle

          Ctree_Expander_Circular
          --  The pixmap will be a circle
         );

### Gtk_Ctree_Compare_Drag_Func

- Goto declaration in source

    type Gtk_Ctree_Compare_Drag_Func is access
         function (Ctree        : in Gtk_Ctree;
                   Source_Node  : in Gtk_Ctree_Node;
                   New_Parent   : in Gtk_Ctree_Node;
                   New_Sibling  : in Gtk_Ctree_Node) return Boolean;

Function type used in Set_Drag_Compare_Func.

# Constants & Global variables

### Null_Ctree_Node

- Goto declaration in source

(Gtk_Ctree_Node)

    Null_Ctree_Node : constant Gtk_Ctree_Node := null;

<doc_ignore>

### Signal_Change_Focus_Row_Expansion

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Change_Focus_Row_Expansion : constant Glib.Signal_Name :=
                                             "change_focus_row_expansion";

### Signal_Tree_Collapse

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Tree_Collapse              : constant Glib.Signal_Name :=
                                             "tree_collapse";

### Signal_Tree_Expand

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Tree_Expand                : constant Glib.Signal_Name :=
                                             "tree_expand";

### Signal_Tree_Move

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Tree_Move                  : constant Glib.Signal_Name :=
                                             "tree_move";

### Signal_Tree_Select_Row

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Tree_Select_Row            : constant Glib.Signal_Name :=
                                             "tree_select_row";

### Signal_Tree_Unselect_Row

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Tree_Unselect_Row          : constant Glib.Signal_Name :=
                                             "tree_unselect_row";

# Subprograms & Entries

### Convert

- Goto spec in source

    function Convert is new Unchecked_Conversion (Gtk_Ctree_Node, System.Address);

### Convert

- Goto spec in source

    function Convert is new Unchecked_Conversion (System.Address, Gtk_Ctree_Node);

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Widget:    out Gtk_Ctree;Columns: in     Gint;Tree_Column: in     Gint := 0);

Create a ctree with Columns columns. Tree_Column indicates in which column the tree will be displayed.

### Initialize

- Goto spec in source

    procedure Initialize (Widget: access Gtk_Ctree_Record'Class;Columns: in     Gint;Tree_Column: in     Gint := 0);

Internal initialization function. See the section "Creating your own widgets" in the documentation.

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Widget:    out Gtk_Ctree;Titles: in     Chars_Ptr_Array;Tree_Column: in     Gint := 0);

Create a ctree with Titles'Length columns. Titles gives the title of each column. Tree_Column indicates in which column the tree will be displayed.

### Initialize

- Goto spec in source

    procedure Initialize (Widget: access Gtk_Ctree_Record'Class;Titles: in     Chars_Ptr_Array;Tree_Column: in     Gint := 0);

Internal initialization function. See the section "Creating your own widgets" in the documentation.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Gtk.Gtk_Type;

Return the internal value associated with a Gtk_Ctree.

### Insert_Node

- Goto spec in source

    function Insert_Node (Ctree: access Gtk_Ctree_Record;Parent: in     Gtk_Ctree_Node;Sibling: in     Gtk_Ctree_Node;Text: in     Chars_Ptr_Array;Spacing: in     Guint8;Pixmap_Closed: in     Gdk.Pixmap.Gdk_Pixmap;Mask_Closed: in     Gdk.Bitmap.Gdk_Bitmap;Pixmap_Opened: in     Gdk.Pixmap.Gdk_Pixmap;Mask_Opened: in     Gdk.Bitmap.Gdk_Bitmap;Is_Leaf: in     Boolean;Expanded: in     Boolean) return                 Gtk_Ctree_Node;

Insert a new node in the Ctree. Parent is the parent node. If null, the new node is part of the root. The new node will be inserted right on top of Sibling. If Sibling is null, then it will be the first node in the subtree. Text contains the text for each cell of the node. Note that Insert_Node expects the length of the Text parameter to be equal to the number of columns of the Ctree. Spacing is the number of pixels between the lines of the tree and the text in the same column. If Is_Leaf is True, then the node won't contain any subtree. If False, the newly created node can be used as the Parent for further node creation. In this case, Expanded indicates whether the subtree associated with this node should be initially visible. In addition to the "+" or "-" sign indicating whether the subtree is expanded or not, it is possible to put a pixmap giving this information. Pixmap_Closed and Mask_Closed represent the image and the mask used when the subtree is closed; similarly, Pixmap_Opened and Mask_Opened represent the image and the mask used when the subtree is opened.

### Remove_Node

- Goto spec in source

    procedure Remove_Node (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Remove Node from Ctree.

### Get_Tree_Column

- Goto spec in source

    function Get_Tree_Column (Widget: access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint;

Return the Tree_Column attribute of a given Node. Tree_Column indicates in which column the tree will be displayed.

### Get_Node_List

- Goto spec in source

    function Get_Node_List (Ctree: access Gtk_Ctree_Record) return Node_List.Glist;

Return the list of nodes associated with a given Ctree. Note: you need to extract the nodes with Node_List.Get_Gpointer.

### Get_Row_List

- Goto spec in source

    function Get_Row_List (Ctree: access Gtk_Ctree_Record) return Row_List.Glist;

Return the list of rows associated with a given Ctree.

### Get_Selection

- Goto spec in source

    function Get_Selection (Ctree: access Gtk_Ctree_Record) return Node_List.Glist;

Return the list of nodes currently selected. Extract the nodes with Node_List.Get_Data

### Node_Get_Row

- Goto spec in source
- Goto body in source

    function Node_Get_Row (Node: in Gtk_Ctree_Node) return Gtk_Ctree_Row;

Return the row of a given Node.

### Row_Get_Children

- Goto spec in source
- Goto body in source

    function Row_Get_Children (Row: in Gtk_Ctree_Row) return Gtk_Ctree_Node;

Return the children node of a given Row.

### Row_Get_Expanded

- Goto spec in source

    function Row_Get_Expanded (Row: in Gtk_Ctree_Row) return Boolean;

Return the expanded attribute of a given Row. Note that Expanded can also be retrieved via Get_Node_Info, this function is just a quick accessor.

### Row_Get_Is_Leaf

- Goto spec in source

    function Row_Get_Is_Leaf (Row: in Gtk_Ctree_Row) return Boolean;

Return the leaf attribute of a given Row. Note that Is_Leaf can also be retrieved via Get_Node_Info, this function is just a quick accessor.

### Row_Get_Parent

- Goto spec in source
- Goto body in source

    function Row_Get_Parent (Row: in Gtk_Ctree_Row) return Gtk_Ctree_Node;

Return the parent node of a given Row.

### Row_Get_Sibling

- Goto spec in source
- Goto body in source

    function Row_Get_Sibling (Row: in Gtk_Ctree_Row) return Gtk_Ctree_Node;

Return the sibling node of a given Row.

### Is_Created

- Goto spec in source

    function Is_Created (Node: in Gtk_Ctree_Node) return Boolean;

Return True if Node is different from Null_Ctree_Node

### Is_Viewable

- Goto spec in source

    function Is_Viewable (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node) return Boolean;

Return True if Node is viewable. A Node is viewable if all the trees and subtrees containing it are expanded.

### Last

- Goto spec in source

    function Last (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node) return Gtk_Ctree_Node;

Return the last node of a given subtree. Starting at Node, this function will recursively look for the last sibling of the last child. Return an empty node is Node is empty.

### Find_Node_Ptr

- Goto spec in source

    function Find_Node_Ptr (Ctree: access Gtk_Ctree_Record;Ctree_Row: in     Gtk_Ctree_Row) return Gtk_Ctree_Node;

Return the node corresponding to a given row.

### Node_Nth

- Goto spec in source

    function Node_Nth (Ctree: access Gtk_Ctree_Record;Row: in     Guint) return          Gtk_Ctree_Node;

Return the Node corresponding to the nth row of a given Ctree. This can be used to retrieve the root node of the tree, by passing 0 for Row.

### Find

- Goto spec in source

    function Find (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Child: in     Gtk_Ctree_Node) return Boolean;

Recursively search for a given Child in a given subtree. the subtree is determined by Node. If Node is empty, the search will occur on the whole tree. Return True if Child is found, False otherwise.

### Is_Ancestor

- Goto spec in source

    function Is_Ancestor (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Child: in     Gtk_Ctree_Node) return Boolean;

Indicate whether Node is an ancestor of Child. It is assumed that Node is not empty.

### Is_Hot_Spot

- Goto spec in source

    function Is_Hot_Spot (Ctree: access Gtk_Ctree_Record;X: in     Gint;Y: in     Gint) return Boolean;

Return True if the Ctree is centered on (x,y)

### Move

- Goto spec in source

    procedure Move (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;New_Parent: in     Gtk_Ctree_Node;New_Sibling: in     Gtk_Ctree_Node);

Move a node in a Ctree. After its creation, a node can be moved. New_Parent points to the new parent node that will contain Node. If null, Node will be attached to the root. New_Sibling indicates under which node Node will be inserted. If New_Sibling is null, the new node will be the lowest in its branch.

### Expand

- Goto spec in source

    procedure Expand (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Expand the first level of the subtree associated with Node.

### Expand_Recursive

- Goto spec in source

    procedure Expand_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null);

Expand the whole subtree associated with Node.

### Expand_To_Depth

- Goto spec in source

    procedure Expand_To_Depth (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null;Depth: in     Gint);

Expand the subtree associated with Node and its descendants until Depth levels of subtrees have been reached.

### Collapse

- Goto spec in source

    procedure Collapse (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Collapse the first level of the subtree associated with Node.

### Collapse_Recursive

- Goto spec in source

    procedure Collapse_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null);

Collapse the whole subtree associated with Node.

### Collapse_To_Depth

- Goto spec in source

    procedure Collapse_To_Depth (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null;Depth: in     Gint);

Collapse the subtree associated with Node and its descendants until Depth levels of subtrees have been reached.

### Toggle_Expansion

- Goto spec in source

    procedure Toggle_Expansion (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Change the state of the Ctree from expanded to collapsed and the other way around on one level.

### Toggle_Expansion_Recursive

- Goto spec in source

    procedure Toggle_Expansion_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Change the state of the Ctree from expanded to collapsed and the other way around for the whole subtree.

### Gtk_Select

- Goto spec in source

    procedure Gtk_Select (Ctree: access  Gtk_Ctree_Record;Node: in      Gtk_Ctree_Node);

Select a specified Node, and only this one.

### Select_Recursive

- Goto spec in source

    procedure Select_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null);

Select a specified Node, and its whole subtree.

### Unselect

- Goto spec in source

    procedure Unselect (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Unselect a specified Node, and only this one.

### Unselect_Recursive

- Goto spec in source

    procedure Unselect_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null);

Unselect a specified Node, and its whole subtree.

### Real_Select_Recursive

- Goto spec in source

    procedure Real_Select_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null;Do_Select: in     Boolean);

Similar to Select_Recursive or Unselect_Recursive. If Do_Select is True, equivalent to Select_Recursive. If Do_Select is False, equivalent to Unselect_Recursive.

### Node_Set_Text

- Goto spec in source

    procedure Node_Set_Text (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Text: in     UTF8_String);

Set the cell's text, replacing its current contents. This changes the type of the cell to Cell_Text. The pixmap (if any) will no longer be displayed.

### Node_Get_Text

- Goto spec in source

    function Node_Get_Text (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint) return UTF8_String;

Return the text contained in cell. An empty string is returned if Column is invalid or if the Cell did not contain any text (only a pixmap)

### Node_Set_Pixmap

- Goto spec in source

    procedure Node_Set_Pixmap (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Pixmap: in     Gdk.Pixmap.Gdk_Pixmap;Mask: in     Gdk.Bitmap.Gdk_Bitmap);

Set the cell's pixmap, replacing its current contents. The type of the cell becomes Cell_Pixmap, and the text is no longer displayed.

### Node_Get_Pixmap

- Goto spec in source

    procedure Node_Get_Pixmap (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Pixmap:    out Gdk.Pixmap.Gdk_Pixmap;Mask:    out Gdk.Bitmap.Gdk_Bitmap;Success:    out Boolean);

Return the Pixmap contained in a cell. The type of the cell should be Cell_Pixmap. The result is meaningful only if Success is True. If the Cell did not contain a pixmap, Success is set to False.

### Node_Set_Pixtext

- Goto spec in source

    procedure Node_Set_Pixtext (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Text: in     UTF8_String;Spacing: in     Guint8;Pixmap: in     Gdk.Pixmap.Gdk_Pixmap;Mask: in     Gdk.Bitmap.Gdk_Bitmap);

Set both the Text and the Pixmap for the cell. Replace its current contents. The type of the cell becomes Cell_Pixtext, and both the text and the pixmap are displayed.

### Node_Get_Pixtext

- Goto spec in source

    procedure Node_Get_Pixtext (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Text:    out Interfaces.C.Strings.chars_ptr;Spacing:    out Guint8;Pixmap:    out Gdk.Pixmap.Gdk_Pixmap;Mask:    out Gdk.Bitmap.Gdk_Bitmap;Success:    out Boolean);

Return the Text and the Pixmap for the cell. The result is not meaningful if Success is False.

### Node_Set_Shift

- Goto spec in source

    procedure Node_Set_Shift (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Vertical: in     Gint;Horizontal: in     Gint);

Set a horizontal and vertical shift for drawing the content of the cell. Both shifts can be either positive or negative. This is particularly useful for indenting items in a columns.

### Set_Node_Info

- Goto spec in source

    procedure Set_Node_Info (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Text: in     UTF8_String;Spacing: in     Guint8;Pixmap_Closed: in     Gdk.Pixmap.Gdk_Pixmap;Mask_Closed: in     Gdk.Bitmap.Gdk_Bitmap;Pixmap_Opened: in     Gdk.Pixmap.Gdk_Pixmap;Mask_Opened: in     Gdk.Bitmap.Gdk_Bitmap;Is_Leaf: in     Boolean;Expanded: in     Boolean);

Set all the info related to a specific Node.

### Get_Node_Info

- Goto spec in source

    procedure Get_Node_Info (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Text:    out Interfaces.C.Strings.chars_ptr;Spacing:    out Guint8;Pixmap_Closed:    out Gdk.Pixmap.Gdk_Pixmap;Mask_Closed:    out Gdk.Bitmap.Gdk_Bitmap;Pixmap_Opened:    out Gdk.Pixmap.Gdk_Pixmap;Mask_Opened:    out Gdk.Bitmap.Gdk_Bitmap;Is_Leaf:    out Boolean;Expanded:    out Boolean;Success:    out Boolean);

Return all the info related to a specific Node.

### Node_Set_Selectable

- Goto spec in source

    procedure Node_Set_Selectable (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Selectable: in     Boolean := True);

Indicate whether the Node can be selected or not. The default value is True.

### Node_Get_Selectable

- Goto spec in source

    function Node_Get_Selectable (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node) return          Boolean;

Return the selectable status of the Node.

### Node_Set_Row_Style

- Goto spec in source

    procedure Node_Set_Row_Style (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Style: in     Gtk.Style.Gtk_Style);

Set the default style for the cells in the Node. This can be overridden for each cell with Node_Set_Cell_Style.

### Node_Get_Row_Style

- Goto spec in source

    function Node_Get_Row_Style (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node) return          Gtk.Style.Gtk_Style;

Return the default style used for the Node.

### Node_Set_Cell_Style

- Goto spec in source

    procedure Node_Set_Cell_Style (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Style: in     Gtk.Style.Gtk_Style);

Set the style (font, color, ...) used for the cell. This overrides the Node's style.

### Node_Get_Cell_Style

- Goto spec in source

    function Node_Get_Cell_Style (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint) return          Gtk.Style.Gtk_Style;

Return the style of the cell.

### Node_Set_Foreground

- Goto spec in source

    procedure Node_Set_Foreground (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Color: in     Gdk.Color.Gdk_Color);

Set the foreground color for the Node. The color must already be allocated. If no such Node exists in the tree, nothing is done.

### Node_Set_Background

- Goto spec in source

    procedure Node_Set_Background (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Color: in     Gdk.Color.Gdk_Color);

Set the background color for the Node. The color must already be allocated. If no such Node exists in the tree, nothing is done.

### Node_Get_Cell_Type

- Goto spec in source

    function Node_Get_Cell_Type (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint) return Gtk.Clist.Gtk_Cell_Type;

Gtk.Clist is obsolescent

### Node_Moveto

- Goto spec in source

    procedure Node_Moveto (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node;Column: in     Gint;Row_Align: in     Gfloat := 0.5;Col_Align: in     Gfloat := 0.5);

Make a Node visible. Column indicates which column of the Node should be visible, if not all columns can be displayed. Row_Align and Col_Align are parameters between 0.0 and 1.0, and specify how the Node and the Column will be centered in the Ctree window. 0.0 means a Node on the top, and a Column on the left.

### Node_Is_Visible

- Goto spec in source

    function Node_Is_Visible (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node) return Gtk_Visibility;

Indicate the visibility of a Node. Return Visibility_None if the Node is not visible in the Ctree window; Visibility_Partial if the Node is partially visible; Visibility_Full if the Node is entirely visible. This function ignores the fact that Node is in an expanded or collapsed subtree.

### Set_Indent

- Goto spec in source

    procedure Set_Indent (Ctree: access Gtk_Ctree_Record;Indent: in     Gint := 20);

Change the indentation of the Ctree. Each different level of a subtree is indented by a number of pixels. By default, the indentation is 20 pixels, and can be changed using this procedure.

### Get_Indent

- Goto spec in source

    function Get_Indent (Widget: access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint;

Return the indentation of a Ctree.

### Set_Spacing

- Goto spec in source

    procedure Set_Spacing (Ctree: access Gtk_Ctree_Record;Spacing: in     Gint := 5);

Set the spacing between the tree's icon and the additional pixmap. The additional pixmap indicates whether the subtree is opened or closed. The default value is 5 pixels.

### Get_Spacing

- Goto spec in source

    function Get_Spacing (Widget: access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint;

Return the spacing between the tree's icon and the additional pixmap.

### Set_Show_Stub

- Goto spec in source

    procedure Set_Show_Stub (Ctree: access Gtk_Ctree_Record;Show_Stub: in     Boolean);

Set the Show_Stub attribute of Ctree.

### Get_Show_Stub

- Goto spec in source

    function Get_Show_Stub (Ctree: access Gtk_Ctree_Record) return Boolean;

Return the Show_Stub attribute of Ctree.

### Set_Line_Style

- Goto spec in source

    procedure Set_Line_Style (Ctree: access Gtk_Ctree_Record;Line_Style: in     Gtk_Ctree_Line_Style := Ctree_Lines_Solid);

Change the style of the lines representing the tree of a given Ctree. By default, solid lines are used. See the description of Gtk_Ctree_Line_Style for more details of the possible values.

### Get_Line_Style

- Goto spec in source

    function Get_Line_Style (Ctree: access Gtk_Ctree_Record) return Gtk_Ctree_Line_Style;

return the style of the lines representing the tree of a given Ctree.

### Set_Expander_Style

- Goto spec in source

    procedure Set_Expander_Style (Ctree: access Gtk_Ctree_Record;Expander_Style: in     Gtk_Ctree_Expander_Style := Ctree_Expander_Square);

Set the way a given Ctree can be expanded. To expand a subtree, you can either double-click on a node, or click on the "+/-" icon. This icon is by default included in a square pixmap. This procedure can change the form of this pixmap. See the description of Gtk_Ctree_Expander_Style for more details.

### Get_Expander_Style

- Goto spec in source

    function Get_Expander_Style (Ctree: access Gtk_Ctree_Record) return Gtk_Ctree_Expander_Style;

Return the way a given Ctree can be expanded.

### Set_Drag_Compare_Func

- Goto spec in source

    procedure Set_Drag_Compare_Func (Ctree: access Gtk_Ctree_Record;Cmp_Func: in     Gtk_Ctree_Compare_Drag_Func);

Set the drag compare function of a given Ctree. This function is used when the Ctree receives a dragged data.

### Sort_Node

- Goto spec in source

    procedure Sort_Node (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node);

Sort the nodes of a given Ctree. This procedure only sorts the first level of the tree.

### Sort_Recursive

- Goto spec in source

    procedure Sort_Recursive (Ctree: access Gtk_Ctree_Record;Node: in     Gtk_Ctree_Node := null);

Sort the nodes of a given Ctree recursively. This procedure sorts the whole tree and subtrees associated with Ctree. Set Node to null if you want to sort the whole tree starting from its root.