package Row_List is new Glib.Glist.Generic_List (Gtk_Ctree_Row);
package Node_List is new Glib.Glist.Generic_List (Gtk_Ctree_Node);
type Gtk_Ctree_Record is new Gtk.Clist.Gtk_Clist_Record with private;
type Gtk_Ctree is access all Gtk_Ctree_Record'Class;
type Gtk_Ctree_Row is new Gtk.Clist.Gtk_Clist_Row;
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 );
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 );
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;
Signal_Change_Focus_Row_Expansion : constant Glib.Signal_Name := "change_focus_row_expansion";
Signal_Tree_Collapse : constant Glib.Signal_Name := "tree_collapse";
Signal_Tree_Expand : constant Glib.Signal_Name := "tree_expand";
Signal_Tree_Move : constant Glib.Signal_Name := "tree_move";
Signal_Tree_Select_Row : constant Glib.Signal_Name := "tree_select_row";
Signal_Tree_Unselect_Row : constant Glib.Signal_Name := "tree_unselect_row";
function Convert is new Unchecked_Conversion
( | Gtk_Ctree_Node, System.Address); |
function Convert is new Unchecked_Conversion
( | System.Address, Gtk_Ctree_Node); |
procedure Initialize
( | Widget | : access Gtk_Ctree_Record'Class; |
Columns | : in Gint; | |
Tree_Column | : in Gint := 0); |
procedure Gtk_New
( | Widget | : out Gtk_Ctree; |
Titles | : in Chars_Ptr_Array; | |
Tree_Column | : in Gint := 0); |
procedure Initialize
( | Widget | : access Gtk_Ctree_Record'Class; |
Titles | : in Chars_Ptr_Array; | |
Tree_Column | : in Gint := 0); |
function Get_Type return Gtk.Gtk_Type;
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; |
procedure Remove_Node
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
function Get_Tree_Column
( | Widget | : access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint; |
function Get_Node_List
( | Ctree | : access Gtk_Ctree_Record) return Node_List.Glist; |
function Get_Row_List
( | Ctree | : access Gtk_Ctree_Record) return Row_List.Glist; |
function Get_Selection
( | Ctree | : access Gtk_Ctree_Record) return Node_List.Glist; |
function Node_Get_Row
( | Node | : in Gtk_Ctree_Node) return Gtk_Ctree_Row; |
function Row_Get_Children
( | Row | : in Gtk_Ctree_Row) return Gtk_Ctree_Node; |
function Row_Get_Expanded
( | Row | : in Gtk_Ctree_Row) return Boolean; |
function Row_Get_Is_Leaf
( | Row | : in Gtk_Ctree_Row) return Boolean; |
function Row_Get_Parent
( | Row | : in Gtk_Ctree_Row) return Gtk_Ctree_Node; |
function Row_Get_Sibling
( | Row | : in Gtk_Ctree_Row) return Gtk_Ctree_Node; |
function Is_Created
( | Node | : in Gtk_Ctree_Node) return Boolean; |
function Is_Viewable
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node) return Boolean; |
function Last
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node) return Gtk_Ctree_Node; |
function Find_Node_Ptr
( | Ctree | : access Gtk_Ctree_Record; |
Ctree_Row | : in Gtk_Ctree_Row) return Gtk_Ctree_Node; |
function Node_Nth
( | Ctree | : access Gtk_Ctree_Record; |
Row | : in Guint) return Gtk_Ctree_Node; |
function Find
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Child | : in Gtk_Ctree_Node) return Boolean; |
function Is_Ancestor
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Child | : in Gtk_Ctree_Node) return Boolean; |
function Is_Hot_Spot
( | Ctree | : access Gtk_Ctree_Record; |
X | : in Gint; | |
Y | : in Gint) return Boolean; |
procedure Move
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
New_Parent | : in Gtk_Ctree_Node; | |
New_Sibling | : in Gtk_Ctree_Node); |
procedure Expand
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Expand_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null); |
procedure Expand_To_Depth
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null; | |
Depth | : in Gint); |
procedure Collapse
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Collapse_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null); |
procedure Collapse_To_Depth
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null; | |
Depth | : in Gint); |
procedure Toggle_Expansion
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Toggle_Expansion_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Gtk_Select
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Select_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null); |
procedure Unselect
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Unselect_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null); |
procedure Real_Select_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null; | |
Do_Select | : in Boolean); |
procedure Node_Set_Text
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint; | |
Text | : in UTF8_String); |
function Node_Get_Text
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint) return UTF8_String; |
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); |
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); |
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); |
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); |
procedure Node_Set_Shift
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint; | |
Vertical | : in Gint; | |
Horizontal | : in Gint); |
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); |
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); |
procedure Node_Set_Selectable
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Selectable | : in Boolean := True); |
function Node_Get_Selectable
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node) return Boolean; |
procedure Node_Set_Row_Style
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Style | : in Gtk.Style.Gtk_Style); |
function Node_Get_Row_Style
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node) return Gtk.Style.Gtk_Style; |
procedure Node_Set_Cell_Style
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint; | |
Style | : in Gtk.Style.Gtk_Style); |
function Node_Get_Cell_Style
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint) return Gtk.Style.Gtk_Style; |
procedure Node_Set_Foreground
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Color | : in Gdk.Color.Gdk_Color); |
procedure Node_Set_Background
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Color | : in Gdk.Color.Gdk_Color); |
function Node_Get_Cell_Type
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node; | |
Column | : in Gint) return Gtk.Clist.Gtk_Cell_Type; |
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); |
function Node_Is_Visible
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node) return Gtk_Visibility; |
procedure Set_Indent
( | Ctree | : access Gtk_Ctree_Record; |
Indent | : in Gint := 20); |
function Get_Indent
( | Widget | : access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint; |
procedure Set_Spacing
( | Ctree | : access Gtk_Ctree_Record; |
Spacing | : in Gint := 5); |
function Get_Spacing
( | Widget | : access Gtk.Ctree.Gtk_Ctree_Record'Class) return Gint; |
procedure Set_Show_Stub
( | Ctree | : access Gtk_Ctree_Record; |
Show_Stub | : in Boolean); |
function Get_Show_Stub
( | Ctree | : access Gtk_Ctree_Record) return Boolean; |
procedure Set_Line_Style
( | Ctree | : access Gtk_Ctree_Record; |
Line_Style | : in Gtk_Ctree_Line_Style := Ctree_Lines_Solid); |
function Get_Line_Style
( | Ctree | : access Gtk_Ctree_Record) return Gtk_Ctree_Line_Style; |
procedure Set_Expander_Style
( | Ctree | : access Gtk_Ctree_Record; |
Expander_Style | : in Gtk_Ctree_Expander_Style := Ctree_Expander_Square); |
function Get_Expander_Style
( | Ctree | : access Gtk_Ctree_Record) return Gtk_Ctree_Expander_Style; |
procedure Set_Drag_Compare_Func
( | Ctree | : access Gtk_Ctree_Record; |
Cmp_Func | : in Gtk_Ctree_Compare_Drag_Func); |
procedure Sort_Node
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node); |
procedure Sort_Recursive
( | Ctree | : access Gtk_Ctree_Record; |
Node | : in Gtk_Ctree_Node := null); |
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>