## org.gnu.gtk
Class TreePath

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.Boxed
              org.gnu.gtk.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(java.lang.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.
`java.lang.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`

Methods inherited from class org.gnu.glib.Struct
`getHandle, getNullHandle`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### TreePath

    public TreePath()

  Constructs a new path.

### TreePath

    public TreePath(java.lang.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

### toString

    public java.lang.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.

### getDepth

    public int getDepth()

  Returns the current depth of path.

### 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.

### next

    public void next()

  Moves the path to point to the next node at the current depth.

### 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.

### 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.

### down

    public void down()

  Moves path to point to the first child of the current path.

### 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

### 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` -

### 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` -

### getIndices

    public int[] getIndices()

  Returns the current indices of the path.

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