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