Details
struct GtkTreeIter
struct GtkTreeIter
{
gint stamp;
gpointer user_data;
gpointer user_data2;
gpointer user_data3;
}; |
struct GtkTreeRowReference
struct GtkTreeRowReference; |
struct GtkTreeModelIface
struct GtkTreeModelIface
{
GTypeInterface g_iface;
/* Signals */
void (* row_changed) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* row_inserted) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* row_has_child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* row_deleted) (GtkTreeModel *tree_model,
GtkTreePath *path);
void (* rows_reordered) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter,
gint *new_order);
/* Virtual Table */
GtkTreeModelFlags (* get_flags) (GtkTreeModel *tree_model);
gint (* get_n_columns) (GtkTreeModel *tree_model);
GType (* get_column_type) (GtkTreeModel *tree_model,
gint index);
gboolean (* get_iter) (GtkTreeModel *tree_model,
GtkTreeIter *iter,
GtkTreePath *path);
GtkTreePath *(* get_path) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
void (* get_value) (GtkTreeModel *tree_model,
GtkTreeIter *iter,
gint column,
GValue *value);
gboolean (* iter_next) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
gboolean (* iter_children) (GtkTreeModel *tree_model,
GtkTreeIter *iter,
GtkTreeIter *parent);
gboolean (* iter_has_child) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
gint (* iter_n_children) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
gboolean (* iter_nth_child) (GtkTreeModel *tree_model,
GtkTreeIter *iter,
GtkTreeIter *parent,
gint n);
gboolean (* iter_parent) (GtkTreeModel *tree_model,
GtkTreeIter *iter,
GtkTreeIter *child);
void (* ref_node) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
void (* unref_node) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
}; |
GtkTreeModelForeachFunc ()
enum GtkTreeModelFlags
typedef enum
{
GTK_TREE_MODEL_ITERS_PERSIST = 1 << 0,
GTK_TREE_MODEL_LIST_ONLY = 1 << 1
} GtkTreeModelFlags; |
gtk_tree_path_new_from_string ()
GtkTreePath* gtk_tree_path_new_from_string (const gchar *path); |
Creates a new GtkTreePath initialized to path. path is expected to be a
colon separated list of numbers. For example, the string "10:4:0" would
create a path of depth 3 pointing to the 11th child of the root node, the 5th
child of that 11th child, and the 1st child of that 5th child. If an invalid
path is passed in, NULL is returned.
gtk_tree_path_to_string ()
Generates a string representation of the path. This string is a ':'
separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string.
gtk_tree_path_new_root ()
Creates a new root GtkTreePath. The string representation of this path is
"0"
gtk_tree_path_append_index ()
void gtk_tree_path_append_index (GtkTreePath *path,
gint index); |
Appends a new index to a path. As a result, the depth of the path is
increased.
gtk_tree_path_prepend_index ()
void gtk_tree_path_prepend_index (GtkTreePath *path,
gint index); |
Prepends a new index to a path. As a result, the depth of the path is
increased.
gtk_tree_path_get_depth ()
Returns the current depth of path.
gtk_tree_path_get_indices ()
Returns the current indices of path. This is an array of integers, each
representing a node in a tree.
gtk_tree_path_free ()
Frees path.
gtk_tree_path_copy ()
Creates a new GtkTreePath as a copy of path.
gtk_tree_path_compare ()
Compares two paths. If a appears before b in a tree, then -1 is returned.
If b appears before a, then 1 is returned. If the two nodes are equal,
then 0 is returned.
gtk_tree_path_next ()
Moves the path to point to the next node at the current depth.
gtk_tree_path_prev ()
Moves the path to point to the previous node at the current depth, if it exists.
gtk_tree_path_up ()
Moves the path to point to it's parent node, if it has a parent.
gtk_tree_path_down ()
Moves path to point to the first child of the current path.
gtk_tree_path_is_ancestor ()
Returns TRUE if descendant is a descendant of path.
gtk_tree_path_is_descendant ()
Returns TRUE if path is a descendant of ancestor.
gtk_tree_row_reference_new ()
Creates a row reference based on path. This reference will keep pointing to
the node pointed to by path, so long as it exists. It listens to all
signals on model, and updates it's path appropriately. If path isn't a
valid path in model, then NULL is returned.
gtk_tree_row_reference_new_proxy ()
gtk_tree_row_reference_get_path ()
Returns a path that the row reference currently points to, or NULL if the
path pointed to is no longer valid.
gtk_tree_row_reference_valid ()
Returns TRUE if the reference is non-NULL and refers to a current valid
path.
gtk_tree_row_reference_free ()
Free's reference. reference may be NULL.
gtk_tree_row_reference_inserted ()
void gtk_tree_row_reference_inserted (GObject *proxy,
GtkTreePath *path); |
gtk_tree_row_reference_deleted ()
void gtk_tree_row_reference_deleted (GObject *proxy,
GtkTreePath *path); |
gtk_tree_row_reference_reordered ()
void gtk_tree_row_reference_reordered
(GObject *proxy,
GtkTreePath *path,
GtkTreeIter *iter,
gint *new_order); |
gtk_tree_iter_copy ()
Creates a dynamically allocated tree iterator as a copy of iter. This
function is not intended for use in applications, because you can just copy
the structs by value (GtkTreeIter new_iter = iter;). You
must free this iter with gtk_tree_iter_free().
gtk_tree_iter_free ()
Frees an iterator that has been allocated on the heap. This function is
mainly used for language bindings.
gtk_tree_model_get_flags ()
Returns a set of flags supported by this interface. The flags are a bitwise
combination of GtkTreeModelFlags. The flags supported should not change
during the lifecycle of the tree_model.
gtk_tree_model_get_n_columns ()
gint gtk_tree_model_get_n_columns (GtkTreeModel *tree_model); |
Returns the number of columns supported by tree_model.
gtk_tree_model_get_column_type ()
GType gtk_tree_model_get_column_type (GtkTreeModel *tree_model,
gint index); |
Returns the type of the column.
gtk_tree_model_get_iter ()
Sets iter to a valid iterator pointing to path.
gtk_tree_model_get_iter_from_string ()
gboolean gtk_tree_model_get_iter_from_string
(GtkTreeModel *tree_model,
GtkTreeIter *iter,
const gchar *path_string); |
Sets iter to a valid iterator pointing to path_string, if it
exists. Otherwise, iter is left invalid and FALSE is returned.
gtk_tree_model_get_iter_root ()
Initializes iter with the root iterator in the tree (the one at the root
path) and returns TRUE. Returns FALSE if the tree is empty.
gtk_tree_model_get_value ()
Sets initializes and sets value to that at column. When done with value,
g_value_unset() needs to be called to free any allocated memory.
gtk_tree_model_iter_next ()
Sets iter to point to the node following it at the current level. If there
is no next iter, FALSE is returned and iter is set to be invalid.
gtk_tree_model_iter_children ()
Sets iter to point to the first child of parent. If parent has no children,
FALSE is returned and iter is set to be invalid. parent will remain a valid
node after this function has been called.
gtk_tree_model_iter_has_child ()
Returns TRUE if iter has children, FALSE otherwise.
gtk_tree_model_iter_n_children ()
Returns the number of children that iter has. As a special case, if iter
is NULL, then the number of toplevel nodes is returned.
gtk_tree_model_iter_nth_child ()
Sets iter to be the child of parent, using the given index. The first
index is 0. If index is too big, or parent has no children, iter is set
to an invalid iterator and FALSE is returned. parent will remain a valid
node after this function has been called. As a special case, if parent is
NULL, then the nth root node is set.
gtk_tree_model_iter_parent ()
Sets iter to be the parent of child. If child is at the toplevel, and
doesn't have a parent, then iter is set to an invalid iterator and FALSE
is returned. child will remain a valid node after this function has been
called.
gtk_tree_model_ref_node ()
Lets the tree ref the node. This is an optional method for models to
implement. To be more specific, models may ignore this call as it exists
primarily for performance reasons.
This function is primarily meant as a way for views to let caching model know
when nodes are being displayed (and hence, whether or not to cache that
node.) For example, a file-system based model would not want to keep the
entire file-hierarchy in memory, just the sections that are currently being
displayed by every current view.
A model should be expected to be able to get an iter independent of it's
reffed state.
gtk_tree_model_unref_node ()
Lets the tree unref the node. This is an optional method for models to
implement. To be more specific, models may ignore this call as it exists
primarily for performance reasons.
For more information on what this means, see gtk_tree_model_ref_node().
Please note that nodes that are deleted are not unreffed.
gtk_tree_model_get ()
Gets 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 a place to store the value being
retrieved. The list is terminated by a -1. For example, to get a
value from column 0 with type G_TYPE_STRING, you would
write: gtk_tree_model_get (model, iter, 0, &place_string_here, -1),
where place_string_here is a gchar* to be
filled with the string.
If appropriate, the returned values have to be freed or unreferenced.
gtk_tree_model_get_valist ()
See gtk_tree_model_get(), this version takes a va_list
for language bindings to use.
gtk_tree_model_foreach ()
Calls func on each node in model in a depth-first fashion. If func returns
TRUE, then the tree ceases to be walked, and gtk_tree_model_foreach() returns.
gtk_tree_model_row_changed ()
Emits the "row_changed" signal on tree_model.
gtk_tree_model_row_inserted ()
Emits the "row_inserted" signal on tree_model
gtk_tree_model_row_has_child_toggled ()
Emits the "row_has_child_toggled" signal on tree_model. This should be
called by models after the child state of a node changes.
gtk_tree_model_row_deleted ()
Emits the "row_deleted" signal on tree_model. This should be called by
models after a row has been removed. The location pointed to by path should
be the location that the row previously was at. It may not be a valid
location anymore.
gtk_tree_model_rows_reordered ()
Emits the "rows_reordered" signal on tree_model. This should be called by
models when their rows have been reordered.