Tree models
  
     - 
- 
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); 
Paths manipulation
  
     - 
function Gtk_New (Path : String := "") return Gtk_Tree_Path; 
- 
function Gtk_New_First return Gtk_Tree_Path; 
- 
- 
function To_String (Path : Gtk_Tree_Path) return String; 
- 
procedure Append_Index (Path : Gtk_Tree_Path; Index : Gint); 
- 
procedure Prepend_Index (Path : Gtk_Tree_Path; Index : Gint); 
- 
function Get_Depth (Path : Gtk_Tree_Path) return Gint; 
- 
function Get_Indices (Path : Gtk_Tree_Path) return Glib.Gint_Array; 
- 
procedure Path_Free (Path : Gtk_Tree_Path); 
- 
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); 
Row_Reference manipulation
  
     - 
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; 
Iterators
  ??? Need to be able to access the user_data fields, so that new models
can define their own iterators
     - 
- 
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_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; 
Signals
  
     - 
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);