Class
GtkTreeStore
Description [src]
class Gtk.TreeStore : GObject.Object {
parent: GObject,
priv: GtkTreeStorePrivate*
}
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
[drag and drop][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: “`
“`.
Constructors
gtk_tree_store_new
Creates a new tree store as with n_columns columns each of the types passed
in. Note that only types derived from standard GObject fundamental types
are supported.
gtk_tree_store_newv
Non vararg creation function. Used primarily by language bindings.
Instance methods
gtk_tree_store_append
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().
gtk_tree_store_clear
Removes all rows from tree_store.
gtk_tree_store_insert
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().
gtk_tree_store_insert_after
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,
parent is optional.
gtk_tree_store_insert_before
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,
parent is optional.
gtk_tree_store_insert_with_values
Creates a new row at position. iter will be changed to point to this
new row. If position is -1, or larger than the number of rows on the list, then
the new row will be appended to the list. The row will be filled with
the values given to this function.
gtk_tree_store_insert_with_valuesv
A variant of gtk_tree_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings.
gtk_tree_store_is_ancestor
Returns TRUE if iter is an ancestor of descendant. That is, iter is the
parent (or grandparent or great-grandparent) of descendant.
gtk_tree_store_iter_depth
Returns the depth of iter. This will be 0 for anything on the root level, 1
for anything down a level, etc.
gtk_tree_store_iter_is_valid
Checks if the given iter is a valid iter for this GtkTreeStore.
gtk_tree_store_move_after
Moves iter in tree_store to the position after position. iter and
position should be in the same level. Note that this function only
works with unsorted stores. If position is NULL, iter will be moved
to the start of the level.
gtk_tree_store_move_before
Moves iter in tree_store to the position before position. iter and
position should be in the same level. Note that this function only
works with unsorted stores. If position is NULL, iter will be
moved to the end of the level.
gtk_tree_store_prepend
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().
gtk_tree_store_remove
Removes iter from tree_store. After being removed, iter is set to the
next valid row at that level, or invalidated if it previously pointed to the
last one.
gtk_tree_store_reorder
Reorders the children of parent in tree_store to follow the order
indicated by new_order. Note that this function only works with
unsorted stores.
gtk_tree_store_set
Sets the value of one or more cells in the row referenced by iter.
The variable argument list should contain integer column numbers,
each column number followed by the value to be set.
The list is terminated by a -1. For example, to set column 0 with type
G_TYPE_STRING to “Foo”, you would write
gtk_tree_store_set (store, iter, 0, "Foo", -1).
gtk_tree_store_set_column_types
This function is meant primarily for GObjects that inherit from
GtkTreeStore, and should only be used when constructing a new
GtkTreeStore. It will not function after a row has been added,
or a method on the GtkTreeModel interface is called.
gtk_tree_store_set_valist
See gtk_tree_store_set(); this version takes a va_list for use by language bindings.
gtk_tree_store_set_value
Sets the data in the cell specified by iter and column.
The type of value must be convertible to the type of the column.
gtk_tree_store_set_valuesv
A variant of gtk_tree_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings or in case the number of columns to change is not known until run-time.
gtk_tree_store_swap
Swaps a and b in the same level of tree_store. Note that this function
only works with unsorted stores.
Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id
Gets the ID of the buildable object.
Methods inherited from GtkTreeDragDest (2)
gtk_tree_drag_dest_drag_data_received
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!.
gtk_tree_drag_dest_row_drop_possible
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
value at that location. dest_path does not have to
exist; the return value will almost certainly be FALSE if the
parent of dest_path doesn’t exist, though.
Methods inherited from GtkTreeDragSource (3)
gtk_tree_drag_source_drag_data_delete
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!.
gtk_tree_drag_source_drag_data_get
Asks the GtkTreeDragSource to return a GdkContentProvider representing
the row at path. Should robustly handle a path no
longer found in the model!.
gtk_tree_drag_source_row_draggable
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.
Methods inherited from GtkTreeModel (28)
Methods inherited from GtkTreeSortable (6)
gtk_tree_sortable_get_sort_column_id
Fills in sort_column_id and order with the current sort column and the
order. It returns TRUE unless the sort_column_id is
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or
GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.
gtk_tree_sortable_has_default_sort_func
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.
gtk_tree_sortable_set_default_sort_func
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.
gtk_tree_sortable_set_sort_column_id
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:.
gtk_tree_sortable_set_sort_func
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.
gtk_tree_sortable_sort_column_changed
Emits a GtkTreeSortable::sort-column-changed signal on sortable.