package Gtk_Tree_Path_List is new Glib.Glist.Generic_List (Gtk_Tree_Path);
type Gtk_Tree_Model_Record is new Glib.Object.GObject_Record with private;
type Gtk_Tree_Model is access all Gtk_Tree_Model_Record'Class;
type Gtk_Tree_Path is new Glib.C_Proxy;
type Gtk_Tree_Model_Foreach_Func is access function (Model : access Gtk_Tree_Model_Record'Class; Path : Gtk_Tree_Path; Iter : Gtk_Tree_Iter; User_Data : System.Address) return Boolean;
type Gtk_Tree_Row_Reference is new Glib.C_Proxy;
Tree_Model_Iters_Persist : constant Tree_Model_Flags;
Tree_Model_List_Only : constant Tree_Model_Flags;
Null_Iter : constant Gtk_Tree_Iter;
Signal_Row_Changed : constant Glib.Signal_Name := "row_changed";
Signal_Row_Inserted : constant Glib.Signal_Name := "row_inserted";
Signal_Row_Has_Child_Toggled : constant Glib.Signal_Name := "row_has_child_toggled";
Signal_Row_Deleted : constant Glib.Signal_Name := "row_deleted";
Signal_Rows_Reordered : constant Glib.Signal_Name := "rows_reordered";
function Get_Type return Glib.GType;
function Get_Flags
( | Model | : access Gtk_Tree_Model_Record) return Tree_Model_Flags; |
function Get_N_Columns
( | Tree_Model | : access Gtk_Tree_Model_Record) return Gint; |
function Get_Column_Type
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Index | : Gint) return GType; |
procedure Foreach
( | Model | : access Gtk_Tree_Model_Record; |
Func | : Gtk_Tree_Model_Foreach_Func; | |
User_Data | : System.Address); |
function Gtk_New
( | Path | : String := "") return Gtk_Tree_Path; |
function Gtk_New_First return Gtk_Tree_Path;
function Path_Get_Type return Glib.GType;
function To_String
( | Path | : Gtk_Tree_Path) return String; |
function Get_Tree_Path
( | Val | : Glib.Values.GValue) return Gtk_Tree_Path; |
procedure Append_Index
( | Path | : Gtk_Tree_Path; |
Index | : Gint); |
procedure Prepend_Index
( | Path | : Gtk_Tree_Path; |
Index | : Gint); |
function Get_Indices
( | Path | : Gtk_Tree_Path) return Glib.Gint_Array; |
function Copy
( | Path | : Gtk_Tree_Path) return Gtk_Tree_Path; |
function Compare
( | A, B | : Gtk_Tree_Path) return Gint; |
procedure Next
( | Path | : Gtk_Tree_Path); |
function Prev
( | Path | : Gtk_Tree_Path) return Boolean; |
function Up
( | Path | : Gtk_Tree_Path) return Boolean; |
procedure Down
( | Path | : Gtk_Tree_Path); |
function Is_Ancestor
( | Path, Descendant | : Gtk_Tree_Path) return Boolean; |
function Is_Descendant
( | Path, Ancestor | : Gtk_Tree_Path) return Boolean; |
function Convert is new Ada.Unchecked_Conversion
( | Gtk_Tree_Path, System.Address); |
function Convert is new Ada.Unchecked_Conversion
( | System.Address, Gtk_Tree_Path); |
function Gtk_New
( | Model | : access Gtk_Tree_Model_Record; |
Path | : Gtk_Tree_Path) return Gtk_Tree_Row_Reference; |
function Row_Reference_Get_Type return Glib.GType;
function Get_Path
( | Reference | : Gtk_Tree_Row_Reference) return Gtk_Tree_Path; |
function Valid
( | Reference | : Gtk_Tree_Row_Reference) return Boolean; |
function Row_Reference_Copy
( | Ref | : Gtk_Tree_Row_Reference) return Gtk_Tree_Row_Reference; |
procedure Row_Reference_Free
( | Reference | : Gtk_Tree_Row_Reference); |
function Get_Model
( | Reference | : Gtk_Tree_Row_Reference) return Gtk_Tree_Model; |
function "="
( | Left | : Gtk_Tree_Iter; |
Right | : Gtk_Tree_Iter) return Boolean; |
procedure Iter_Copy
( | Source | : Gtk_Tree_Iter; |
Dest | : out Gtk_Tree_Iter); |
procedure Set_Tree_Iter
( | Val | : in out Glib.Values.GValue; |
Iter | : Gtk_Tree_Iter); |
procedure Get_Tree_Iter
( | Val | : Glib.Values.GValue; |
Iter | : out Gtk_Tree_Iter); |
function Get_Tree_Iter
( | Val | : Glib.Values.GValue) return Gtk_Tree_Iter; |
function To_Address
( | Iter | : Gtk_Tree_Iter) return System.Address; |
function Get_Iter
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Path | : Gtk_Tree_Path) return Gtk_Tree_Iter; |
function Get_Iter_From_String
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Path_String | : String) return Gtk_Tree_Iter; |
function Get_String_From_Iter
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter) return String; |
function Get_Iter_First
( | Tree_Model | : access Gtk_Tree_Model_Record) return Gtk_Tree_Iter; |
function Get_Path
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter) return Gtk_Tree_Path; |
procedure Next
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : in out Gtk_Tree_Iter); |
function Children
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Parent | : Gtk_Tree_Iter) return Gtk_Tree_Iter; |
function Has_Child
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter) return Boolean; |
function N_Children
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter := Null_Iter) return Gint; |
function Nth_Child
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Parent | : Gtk_Tree_Iter; | |
N | : Gint) return Gtk_Tree_Iter; |
function Parent
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Child | : Gtk_Tree_Iter) return Gtk_Tree_Iter; |
procedure Ref_Node
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter); |
procedure Unref_Node
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter); |
procedure Get_Value
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint; | |
Value | : out Glib.Values.GValue); |
function Get_Int
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return Gint; |
function Get_Boolean
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return Boolean; |
function Get_Object
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return Glib.Object.GObject; |
function Get_C_Proxy
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return Glib.C_Proxy; |
function Get_String
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return UTF8_String; |
function Get_Address
( | Tree_Model | : access Gtk_Tree_Model_Record; |
Iter | : Gtk_Tree_Iter; | |
Column | : Gint) return System.Address; |
procedure Row_Changed
( | Tree_Model | : access Gtk_Tree_Model_Record'Class; |
Path | : Gtk_Tree_Path; | |
Iter | : Gtk_Tree_Iter); |
procedure Row_Inserted
( | Tree_Model | : access Gtk_Tree_Model_Record'Class; |
Path | : Gtk_Tree_Path; | |
Iter | : Gtk_Tree_Iter); |
procedure Row_Has_Child_Toggled
( | Tree_Model | : access Gtk_Tree_Model_Record'Class; |
Path | : Gtk_Tree_Path; | |
Iter | : Gtk_Tree_Iter); |
procedure Row_Deleted
( | Tree_Model | : access Gtk_Tree_Model_Record'Class; |
Path | : Gtk_Tree_Path); |
procedure Rows_Reordered
( | Tree_Model | : access Gtk_Tree_Model_Record'Class; |
Path | : Gtk_Tree_Path; | |
Iter | : Gtk_Tree_Iter; | |
New_Order | : Gint_Array); |
The type Gtk_Tree_Model defined in this model defines an abstract interface to represent sets of data that will be displayed in a Gtk_Tree_View.
Various default implementations are provided in the Gtk.Tree_Store and Gtk.List_Store packages.
Data are considered as being organized into a tree-like structure.
This package also defines a number of other types to manipulate these models: A Gtk_Tree_Path is a textual pointer to a specific row/node in the model. It is a column separate list of numbers, that indicate the index of the child they point to.
For instance, "10:4:0" would points to the first (0) child of the fifth (4) child of the eleventh child of the root. The depth of this path is 3.
A Gtk_Tree_Iter is similar to a path, but is a direct pointer to the actual data. It is also more efficient to use than paths.
A Gtk_Row_Reference is an object that tracks model changes, so that it always refere to the same row. A Gtk_Tree_Path refers to a position in the model, not a fixed row.
Binding from C File version 2.8.17