package Implements_Tree_Sortable is new Glib.Types.Implements (Gtk.Tree_Sortable.Gtk_Tree_Sortable, Gtk_Tree_Store_Record, Gtk_Tree_Store);
package Implements_Drag_Source is new Glib.Types.Implements (Gtk.Tree_Dnd.Gtk_Tree_Drag_Source, Gtk_Tree_Store_Record, Gtk_Tree_Store);
package Implements_Drag_Dest is new Glib.Types.Implements (Gtk.Tree_Dnd.Gtk_Tree_Drag_Dest, Gtk_Tree_Store_Record, Gtk_Tree_Store);
type Gtk_Tree_Store_Record is new Gtk.Tree_Model.Gtk_Tree_Model_Record with null record;
type Gtk_Tree_Store is access all Gtk_Tree_Store_Record'Class;
procedure Gtk_New
| ( | Tree_Store | : out Gtk_Tree_Store; |
| Types | : GType_Array); |
procedure Initialize
| ( | Tree_Store | : access Gtk_Tree_Store_Record'Class; |
| Types | : GType_Array); |
function Get_Type return Glib.GType;
procedure Set_Column_Types
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Types | : GType_Array); |
procedure Set_Value
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : Glib.Values.GValue); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : UTF8_String); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : Boolean); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : Gint); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : Glib.C_Proxy); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Address | : System.Address); |
procedure Set
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Column | : Gint; | |
| Value | : Glib.Object.GObject); |
procedure Remove
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Insert
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Position | : Gint); |
procedure Insert_Before
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Sibling | : Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Insert_After
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Sibling | : Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Prepend
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Append
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : in out Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter); |
function Is_Ancestor
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Descendant | : Gtk.Tree_Model.Gtk_Tree_Iter) return Boolean; |
function Iter_Depth
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter) return Gint; |
function Iter_Is_Valid
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter) return Boolean; |
procedure Move_After
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Position | : Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Move_Before
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Iter | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| Position | : Gtk.Tree_Model.Gtk_Tree_Iter); |
procedure Reorder
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| Parent | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| New_Order | : Glib.Gint_Array); |
procedure Swap
| ( | Tree_Store | : access Gtk_Tree_Store_Record; |
| A | : Gtk.Tree_Model.Gtk_Tree_Iter; | |
| B | : Gtk.Tree_Model.Gtk_Tree_Iter); |
function Freeze_Sort
| ( | Tree | : access Gtk.Tree_Store.Gtk_Tree_Store_Record'Class) return Gint; |
procedure Thaw_Sort
| ( | Tree | : access Gtk.Tree_Store.Gtk_Tree_Store_Record'Class; |
| Column_Id | : Gint); |
function "+"
| ( | Model | : access Gtk_Tree_Store_Record'Class) return Gtk.Tree_Sortable.Gtk_Tree_Sortable renames Implements_Tree_Sortable.To_Interface; |
function "-"
| ( | Sortable | : Gtk.Tree_Sortable.Gtk_Tree_Sortable) return Gtk_Tree_Store renames Implements_Tree_Sortable.To_Object; |
function "+"
| ( | Model | : access Gtk_Tree_Store_Record'Class) return Gtk.Tree_Dnd.Gtk_Tree_Drag_Source renames Implements_Drag_Source.To_Interface; |
function "-"
| ( | Drag_Source | : Gtk.Tree_Dnd.Gtk_Tree_Drag_Source) return Gtk_Tree_Store renames Implements_Drag_Source.To_Object; |
function "+"
| ( | Model | : access Gtk_Tree_Store_Record'Class) return Gtk.Tree_Dnd.Gtk_Tree_Drag_Dest renames Implements_Drag_Dest.To_Interface; |
function "-"
| ( | Drag_Dest | : Gtk.Tree_Dnd.Gtk_Tree_Drag_Dest) return Gtk_Tree_Store renames Implements_Drag_Dest.To_Object; |
This package implements a specific model to store your data in. It is basically similar to a small database, in that each field can contain any number of columns.
Each column can contain a different type of data, specified when the model is created.
Adding new values in the model is done as in the example at the end.
Binding from C File version 2.8.17