TreeStore
A tree-like data structure that can be used with the class@Gtk.TreeView.
The GtkTreeStore
object is a list model for use with a GtkTreeView
widget. It implements the iface@Gtk.TreeModel interface, and consequently, can use all of the methods available there. It also implements the iface@Gtk.TreeSortable interface so it can be sorted by the view. Finally, it also implements the tree iface@Gtk.TreeDragSource and iface@Gtk.TreeDragDest interfaces.
GtkTreeStore
is deprecated since GTK 4.10, and should not be used in newly written code. You should use class@Gtk.TreeListModel for a tree-like model object.
GtkTreeStore as GtkBuildable
The GtkTreeStore implementation of the GtkBuildable
interface allows to specify the model columns with a <columns>
element that may contain multiple <column>
elements, each specifying one model column. The “type” attribute specifies the data type for the column.
An example of a UI Definition fragment for a tree store:
<object class="GtkTreeStore">
<columns>
<column type="gchararray"/>
<column type="gchararray"/>
<column type="gint"/>
</columns>
</object>
Skipped during bindings generation
parameter
columns
: Array parameter of type gint is not supportedparameter
types
: Array parameter of type GType is not supportedparameter
columns
: Array parameter of type gint is not supportedparameter
types
: Array parameter of type GType is not supported
Constructors
Properties
Functions
This signal is emitted when a row in the model has changed.
This signal is emitted when a row has been deleted.
This signal is emitted when a row has gotten the first child row or lost its last child row.
This signal is emitted when a new row has been inserted in the model.
The ::sort-column-changed signal is emitted when the sort column or sort order of @sortable is changed. The signal is emitted before the contents of @sortable are resorted.
Asks the GtkTreeDragSource
to delete the row at @path, because it was moved somewhere else via drag-and-drop. Returns false if the deletion fails because @path no longer exists, or for some model-specific reason. Should robustly handle a @path no longer found in the model!
Asks the GtkTreeDragSource
to return a GdkContentProvider
representing the row at @path. Should robustly handle a @path no longer found in the model!
Asks the GtkTreeDragDest
to insert a row before the path @dest, deriving the contents of the row from @value. If @dest is outside the tree so that inserting before it is impossible, false will be returned. Also, false may be returned if the new row is not created for some model-specific reason. Should robustly handle a @dest no longer found in the model!
Calls @func on each node in model in a depth-first fashion.
Gets the ID of the @buildable object.
Returns the type of the column.
Returns a set of flags supported by this interface.
Initializes @iter with the first iterator in the tree (the one at the path "0").
Sets @iter to a valid iterator pointing to @path_string, if it exists.
Returns the number of columns supported by @tree_model.
Generates a string representation of the iter.
Returns true if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not.
Inserts a new row after @sibling.
Inserts a new row before @sibling.
Checks if @iter is an ancestor of @descendant.
Sets @iter to point to the first child of @parent.
Returns true if @iter has children, false otherwise.
Checks if the given iter is a valid iter for this GtkTreeStore
.
Returns the number of children that @iter has.
Sets @iter to be the child of @parent, using the given index.
Sets @iter to be the parent of @child.
Sets @iter to point to the previous node at the current level.
Moves @iter in @tree_store to the position before @position.
Emits the ::row-changed signal on @tree_model.
Emits the ::row-deleted signal on @tree_model.
Asks the GtkTreeDragSource
whether a particular row can be used as the source of a DND operation. If the source doesn’t implement this interface, the row is assumed draggable.
Determines whether a drop is possible before the given @dest_path, at the same depth as @dest_path. i.e., can we drop the data in
Emits the ::row-has-child-toggled signal on @tree_model.
Emits the ::row-inserted signal on @tree_model.
Sets the default comparison function used when sorting to be @sort_func. If the current sort column id of @sortable is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function.
Sets the current sort column to be @sort_column_id. The @sortable will resort itself to reflect this change, after emitting a GtkTreeSortable::sort-column-changed
signal. @sort_column_id may either be a regular column id, or one of the following special values:
Sets the comparison function used when sorting to be @sort_func. If the current sort column id of @sortable is the same as @sort_column_id, then the model will sort using this function.
Emits a GtkTreeSortable::sort-column-changed
signal on @sortable.