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

void
appendIndex(int index)
Appends a new index to the path.
int
compare(TreePath other)
Compares the path with another path.
void
down()
Moves path to point to the first child of the current path.
int
getDepth()
Returns the current depth of path.
int[]
getIndices()
Returns the current indices of the path.
boolean
isAncestor(TreePath descendant)
Returns TRUE if descendant is a descendant of path.
boolean
isDescendant(TreePath ancestor)
Returns TRUE if path is a descendant of ancestor.
void
next()
Moves the path to point to the next node at the current depth.
void
prependIndex(int index)
Prepends a new index to the path.
boolean
previous()
Moves the path to point to the previous node at the current depth, if it exists.
String
toString()
Generates a string representation of the path.
boolean
up()
Moves the path to point to it's parent node, if it has a parent.

Methods inherited from class org.gnu.glib.Boxed

equals, getBoxedFromHandle, hashCode

Constructor Details

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 Details

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.