Name Type Access Description
children GLib.Node r/w points to the first child of the GLib.Node. The other children are accessed by using the next pointer of each child.
data object r/w contains the actual data of the node.
next GLib.Node r/w points to the node’s next sibling (a sibling is another GLib.Node with the same parent).
parent GLib.Node r/w points to the parent of the GLib.Node, or is None if the GLib.Node is the root of the tree.
prev GLib.Node r/w points to the node’s previous sibling.


  child_index (data)
  child_position (child)
  depth ()
  destroy ()
  is_ancestor (descendant)
  max_height ()
  n_children ()
  n_nodes (flags)
  reverse_children ()
  unlink ()


class GLib.Node

The GLib.Node struct represents one node in a n-ary tree.

Parameters:data (object or None) – the data to find
Returns:the index of the child of self which contains data, or -1 if the data is not found
Return type:int

Gets the position of the first child of a GLib.Node which contains the given data.

Parameters:child (GLib.Node) – a child of self
Returns:the position of child with respect to its siblings
Return type:int

Gets the position of a GLib.Node with respect to its siblings. child must be a child of self. The first child is numbered 0, the second 1, and so on.

Returns:the depth of the GLib.Node
Return type:int

Gets the depth of a GLib.Node.

If self is None the depth is 0. The root node has a depth of 1. For the children of the root node the depth is 2. And so on.


Removes self and its children from the tree, freeing any memory allocated.

Parameters:descendant (GLib.Node) – a GLib.Node
Returns:True if self is an ancestor of descendant
Return type:bool

Returns True if self is an ancestor of descendant. This is true if node is the parent of descendant, or if node is the grandparent of descendant etc.

Returns:the maximum height of the tree beneath self
Return type:int

Gets the maximum height of all branches beneath a GLib.Node. This is the maximum distance from the GLib.Node to all leaf nodes.

If self is None, 0 is returned. If self has no children, 1 is returned. If self has children, 2 is returned. And so on.

Returns:the number of children of self
Return type:int

Gets the number of children of a GLib.Node.

Parameters:flags (GLib.TraverseFlags) – which types of children are to be counted, one of GLib.TraverseFlags.ALL, GLib.TraverseFlags.LEAVES and GLib.TraverseFlags.NON_LEAVES
Returns:the number of nodes in the tree
Return type:int

Gets the number of nodes in a tree.


Reverses the order of the children of a GLib.Node. (It doesn’t change the order of the grandchildren.)

Unlinks a GLib.Node from a tree, resulting in two separate trees.