TreeStore
A tree-like data structure that can be used with the GtkTreeView
The GtkTreeStore
object is a list model for use with a GtkTreeView
widget. It implements the GtkTreeModel
interface, and consequently, can use all of the methods available there. It also implements the GtkTreeSortable
interface so it can be sorted by the view. Finally, it also implements the tree gtk3-GtkTreeView-drag-and-drop interfaces.
GtkTreeStore as GtkBuildable
The GtkTreeStore implementation of the GtkBuildable
interface allows to specify the model columns with a
An example of a UI Definition fragment for a tree store: ||
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
Appends a new row to @tree_store. If @parent is non-null, then it will append the new row after the last child of @parent, otherwise it will append a row to the top level. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().
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.
Creates a new row at @position. If parent is non-null, then the row will be made a child of @parent. Otherwise, the row will be created at the toplevel. If @position is -1 or is larger than the number of rows at that level, then the new row will be inserted to the end of the list. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().
Inserts a new row after @sibling. If @sibling is null, then the row will be prepended to @parent ’s children. If @parent and @sibling are null, then the row will be prepended to the toplevel. If both @sibling and @parent are set, then @parent must be the parent of @sibling. When @sibling is set,
Inserts a new row before @sibling. If @sibling is null, then the row will be appended to @parent ’s children. If @parent and @sibling are null, then the row will be appended to the toplevel. If both @sibling and @parent are set, then @parent must be the parent of @sibling. When @sibling is set,
Returns true if @iter is an ancestor of @descendant. That is, @iter is the parent (or grandparent or great-grandparent) 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. @iter and
Prepends a new row to @tree_store. If @parent is non-null, then it will prepend the new row before the first child of @parent, otherwise it will prepend a row to the top level. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().
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.