Method
GLibNodetraverse
Declaration [src]
void
g_node_traverse (
GNode* root,
GTraverseType order,
GTraverseFlags flags,
gint max_depth,
GNodeTraverseFunc func,
gpointer data
)
Description [src]
Traverses a tree starting at the given root GNode
.
It calls the given function for each node visited.
The traversal can be halted at any point by returning TRUE
from func
.
func
must not do anything that would modify the structure of the tree.
Parameters
order
-
Type:
GTraverseType
The order in which nodes are visited -
G_IN_ORDER
,G_PRE_ORDER
,G_POST_ORDER
, orG_LEVEL_ORDER
. flags
-
Type:
GTraverseFlags
Which types of children are to be visited, one of
G_TRAVERSE_ALL
,G_TRAVERSE_LEAVES
andG_TRAVERSE_NON_LEAVES
. max_depth
-
Type:
gint
The maximum depth of the traversal. Nodes below this depth will not be visited. If max_depth is -1 all nodes in the tree are visited. If depth is 1, only the root is visited. If depth is 2, the root and its children are visited. And so on.
func
-
Type:
GNodeTraverseFunc
The function to call for each visited
GNode
. data
-
Type:
gpointer
User data to pass to the function.
The argument can be NULL
.The data is owned by the caller of the method.