Details
GTK_TREE_MODEL_GET_IFACE()
#define GTK_TREE_MODEL_GET_IFACE(obj) ((GtkTreeModelIface *)g_type_interface_peek (((GTypeInstance *)GTK_TREE_MODEL (obj))->g_class, GTK_TYPE_TREE_MODEL)) |
struct GtkTreeIter
struct GtkTreeIter
{
gint stamp;
gpointer tree_node;
gpointer tree_node2;
gpointer tree_node3;
}; |
struct GtkTreeModelIface
struct GtkTreeModelIface
{
GTypeInterface g_iface;
/* Signals */
/* Currently unimplemented as interfaces do not support signals yet, so
* objects implementing this interface need this. Later, it will be moved
* back here.
*/
void (* changed) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model,
GtkTreePath *path);
/* VTable - not signals */
guint (* 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_iter) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
void (* unref_iter) (GtkTreeModel *tree_model,
GtkTreeIter *iter);
}; |
enum GtkTreeModelFlags
typedef enum
{
GTK_TREE_MODEL_ITERS_PERSIST = 1 << 0
} GtkTreeModelFlags; |
gtk_tree_path_new_from_string ()
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.
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 ()
Appends a new index to a path. As a result, the depth of the path is
increased.
gtk_tree_path_prepend_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_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 (<literal>GtkTreeIter new_iter = iter;</literal>). You
must free this iter with gtk_tree_iter_free().
gtk_tree_iter_free ()
Free an iterator that has been allocated on the heap. This function is
mainly used for language bindings.
gtk_tree_model_get_flags ()
Returns a list of flags supported by this interface. The flags are a bitwise
combination of GtkTreeModelFlags. It is expected that the flags supported
do not change for an interface.
gtk_tree_model_get_n_columns ()
Returns the number of columns supported by the tree_model
gtk_tree_model_get_column_type ()
Returns the type of the column.
gtk_tree_model_get_iter ()
Sets iter to a valid iterator pointing to path. If the model does not
provide an implementation of this function, it is implemented in terms of
gtk_tree_model_iter_nth_child.
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 on it.
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. 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 the 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. If parent is NULL, then the
root node is assumed.
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_iter ()
Ref's the iter. 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.
gtk_tree_model_unref_iter ()
Unref's the iter. 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.