org.gnu.gtk

Class TreePath

public class TreePath extends Boxed

A path refers to a single row in a TreeModel (such as a ListStore or a TreeStore). In this respect, it is similar to a TreeIter, however a path also contains details of the structure of the tree (TreeIter is a generic object for the entire TreeView family, including flat lists and tables.)
Constructor Summary
TreePath()
Constructs a new path.
TreePath(String path)
Creates a new TreePath initialized to path.
Method Summary
voidappendIndex(int index)
Appends a new index to the path.
intcompare(TreePath other)
Compares the path with another path.
voiddown()
Moves path to point to the first child of the current path.
intgetDepth()
Returns the current depth of path.
int[]getIndices()
Returns the current indices of the path.
booleanisAncestor(TreePath descendant)
Returns TRUE if descendant is a descendant of path.
booleanisDescendant(TreePath ancestor)
Returns TRUE if path is a descendant of ancestor.
voidnext()
Moves the path to point to the next node at the current depth.
voidprependIndex(int index)
Prepends a new index to the path.
booleanprevious()
Moves the path to point to the previous node at the current depth, if it exists.
StringtoString()
Generates a string representation of the path.
booleanup()
Moves the path to point to it's parent node, if it has a parent.

Constructor Detail

TreePath

public TreePath()
Constructs a new path.

TreePath

public TreePath(String path)
Creates a new TreePath 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 string is passed in, NULL is returned. TODO: throw an exception on null response.

Method Detail

appendIndex

public void appendIndex(int index)
Appends a new index to the path. As a result, the depth of the path is increased

Parameters: index

compare

public int compare(TreePath other)
Compares the path with another path. If the other path appears before this one in a tree, then -1 is returned. If this one appears before the other, then 1 is returned. If the two nodes are equal, then 0 is returned.

down

public void down()
Moves path to point to the first child of the current path.

getDepth

public int getDepth()
Returns the current depth of path.

getIndices

public int[] getIndices()
Returns the current indices of the path.

Returns: An array of ints, each representing a node in the tree.

isAncestor

public boolean isAncestor(TreePath descendant)
Returns TRUE if descendant is a descendant of path.

Parameters: descendant Another TreePath

Returns: TRUE if descendant is contained inside path

isDescendant

public boolean isDescendant(TreePath ancestor)
Returns TRUE if path is a descendant of ancestor.

Parameters: ancestor Another TreePath

Returns: TRUE if ancestor contains path somewhere below it

next

public void next()
Moves the path to point to the next node at the current depth.

prependIndex

public void prependIndex(int index)
Prepends a new index to the path. As a result, the depth of the path is increased

Parameters: index

previous

public boolean previous()
Moves the path to point to the previous node at the current depth, if it exists.

Returns: TRUE if path has a previous node, and the move was made.

toString

public String toString()
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.

Returns: String representation of the path.

up

public boolean up()
Moves the path to point to it's parent node, if it has a parent.

Returns: TRUE if path has a parent, and the move was made.