Main Page Widgets Namespaces Book

# Gtk::TreePath Class Reference
[TreeView Classes]

List of all members.

## Detailed Description

A path is essentially a potential node.

It is a location on a model that may or may not actually correspond to a node on a specific model.

A Path can be converted into either an array of unsigned integers or a string. The string form is a list of numbers separated by a colon. Each number refers to the offset at that level. Thus, the path "0" refers to the root node and the path "2:4" refers to the fifth child of the third node.

Typedefed as Gtk::TreeModel::Path.

## Public Types

typedef const int* | const_iterator
typedef const int& | const_reference
typedef std::reverse_iterator <const_iterator> | const_reverse_iterator
typedef int | difference_type
typedef int* | iterator
typedef int& | reference
typedef std::reverse_iterator <iterator> | reverse_iterator
typedef unsigned int | size_type
typedef int | value_type

## Public Member Functions

template<class In>
void | append (In pbegin, In pend)
void | append_index (int index)
| Appends a new index to a path.
template<class In>
void | assign (In pbegin, In pend)
const_reference | back () const
reference | back ()
const_iterator | begin () const
iterator | begin ()
void | clear ()
void | down ()
| Moves path to point to the first child of the current path.
bool | empty () const
const_iterator | end () const
iterator | end ()
const_reference | front () const
reference | front ()
int | get_depth () const
| Return value: The depth of path.
Glib::ArrayHandle<int> | get_indices () const
const GtkTreePath* | gobj () const
| Provides access to the underlying C instance.
GtkTreePath* | gobj ()
| Provides access to the underlying C instance.
GtkTreePath* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
bool | is_ancestor (const TreePath& descendant) const
| Return value: `true` if descendant is contained inside path.
bool | is_descendant (const TreePath& ancestor) const
| Return value: `true` if ancestor contains path somewhere below it.
void | next ()
| Moves the path to point to the next node at the current depth.
TreePath& | operator= (const TreeModel::iterator& iter)
TreePath& | operator= (const TreePath& other)
const_reference | operator[] (size_type i) const
reference | operator[] (size_type i)
void | prepend_index (int index)
| Prepends a new index to a path.
bool | prev ()
| Moves the path to point to the previous node at the current depth, if it exists.
void | push_back (int index)
| Appends a new index to a path.
void | push_front (int index)
| Prepends a new index to a path.
const_reverse_iterator | rbegin () const
reverse_iterator | rbegin ()
const_reverse_iterator | rend () const
reverse_iterator | rend ()
bool | set_in_selection_data (SelectionData& selection_data, const Glib::RefPtr<const TreeModel>& model) const
| Sets selection data of target type "GTK_TREE_MODEL_ROW".
size_type | size () const
void | swap (TreePath& other)
Glib::ustring | to_string () const
| Generates a string representation of the path.
template<class In>
| TreePath (In pbegin, In pend)
| TreePath (const TreeModel::iterator& iter)
| TreePath (const Glib::ustring& path)
| TreePath (size_type n, value_type value=0)
| TreePath (const TreePath& other)
| TreePath (GtkTreePath* gobject, bool make_a_copy=true)
| TreePath ()
bool | up ()
| Moves the path to point to its parent node, if it has a parent.
| ~TreePath ()

## Static Public Member Functions

static bool | get_from_selection_data (const SelectionData& selection_data, TreePath& path)
| See description in the other overload.
static bool | get_from_selection_data (const SelectionData& selection_data, Glib::RefPtr<TreeModel>& model, TreePath& path)
| Obtains a Gtk::TreeModel and Gtk::TreeModel::Path from selection data of target type "GTK_TREE_MODEL_ROW".

## Protected Attributes

GtkTreePath* | gobject_

## Related Functions

(Note that these are not member functions.)
bool | operator!= (const TreePath& lhs, const TreePath& rhs)
bool | operator< (const TreePath& lhs, const TreePath& rhs)
bool | operator<= (const TreePath& lhs, const TreePath& rhs)
bool | operator== (const TreePath& lhs, const TreePath& rhs)
bool | operator> (const TreePath& lhs, const TreePath& rhs)
bool | operator>= (const TreePath& lhs, const TreePath& rhs)
void | swap (TreePath& lhs, TreePath& rhs)
Gtk::TreePath | wrap (GtkTreePath* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Member Typedef Documentation

typedef const int* Gtk::TreePath::const_iterator

typedef const int& Gtk::TreePath::const_reference

typedef std::reverse_iterator<const_iterator> Gtk::TreePath::const_reverse_iterator

typedef int Gtk::TreePath::difference_type

typedef int* Gtk::TreePath::iterator

typedef int& Gtk::TreePath::reference

typedef std::reverse_iterator<iterator> Gtk::TreePath::reverse_iterator

typedef unsigned int Gtk::TreePath::size_type

typedef int Gtk::TreePath::value_type

## Constructor & Destructor Documentation

Gtk::TreePath::TreePath | ( |  | ) |

Gtk::TreePath::TreePath | ( | GtkTreePath * | gobject,
|  | bool | make_a_copy = `true` |
| ) |  |  | `[explicit]`

Gtk::TreePath::TreePath | ( | const TreePath& | other | ) |

Gtk::TreePath::~TreePath | ( |  | ) |

Gtk::TreePath::TreePath | ( | size_type | n,
|  | value_type | value = `0` |
| ) |  |  | `[explicit]`

Gtk::TreePath::TreePath | ( | const Glib::ustring & | path | ) | `[explicit]`

Gtk::TreePath::TreePath | ( | const TreeModel::iterator& | iter | ) | `[explicit]`

template <class In>

Gtk::TreePath::TreePath | ( | In | pbegin,
|  | In | pend |
| ) |  |  | `[inline]`

## Member Function Documentation

template <class In>

void Gtk::TreePath::append | ( | In | pbegin,
|  | In | pend |
| ) |  |  | `[inline]`

void Gtk::TreePath::append_index | ( | int | index | ) |

Appends a new index to a path.

As a result, the depth of the path is increased.

Deprecated:
  replaced by push_back()

Parameters:

  | index | The index.

template <class In>

void Gtk::TreePath::assign | ( | In | pbegin,
|  | In | pend |
| ) |  |  | `[inline]`

const_reference Gtk::TreePath::back | ( |  | ) | const`[inline]`

References rbegin().

reference Gtk::TreePath::back | ( |  | ) | `[inline]`

References rbegin().

const_iterator Gtk::TreePath::begin | ( |  | ) | const

iterator Gtk::TreePath::begin | ( |  | ) |

Referenced by front(), and rend().

void Gtk::TreePath::clear | ( |  | ) |

void Gtk::TreePath::down | ( |  | ) |

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

bool Gtk::TreePath::empty | ( |  | ) | const

const_iterator Gtk::TreePath::end | ( |  | ) | const

iterator Gtk::TreePath::end | ( |  | ) |

Referenced by rbegin().

const_reference Gtk::TreePath::front | ( |  | ) | const`[inline]`

References begin().

reference Gtk::TreePath::front | ( |  | ) | `[inline]`

References begin().

int Gtk::TreePath::get_depth | ( |  | ) | const

Return value: The depth of path.

Deprecated:
  replaced by size().

Returns:
  The depth of path.

static bool Gtk::TreePath::get_from_selection_data | ( | const SelectionData& | selection_data,
|  | TreePath& | path |
| ) |  |  | `[static]`

See description in the other overload.

static bool Gtk::TreePath::get_from_selection_data | ( | const SelectionData& | selection_data,
|  | Glib::RefPtr<TreeModel>& | model,
|  | TreePath& | path |
| ) |  |  | `[static]`

Obtains a Gtk::TreeModel and Gtk::TreeModel::Path from selection data of target type "GTK_TREE_MODEL_ROW".

Normally called from a drag_data_received handler. This function can only be used if selection_data originates from the same process that's calling this function, because a pointer to the tree model is being passed around. If you aren't in the same process, then you'll get memory corruption. In the Gtk::TreeDragDest drag_data_received signal handler, you can assume that selection data of type "GTK_TREE_MODEL_ROW" is from the current process.

Parameters:

  | selection_data | a SelectionData
  | model | a Gtk::TreeModel
  | path | a row in model

Returns:
  true if the selection_data had target type "GTK_TREE_MODEL_ROW" and is otherwise valid

Glib::ArrayHandle<int> Gtk::TreePath::get_indices | ( |  | ) | const

Deprecated:
  replaced by begin(), end(), and operator[]

const GtkTreePath* Gtk::TreePath::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C instance.

References gobject_.

GtkTreePath* Gtk::TreePath::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C instance.

References gobject_.

GtkTreePath* Gtk::TreePath::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

bool Gtk::TreePath::is_ancestor | ( | const TreePath& | descendant | ) | const

Return value: `true` if descendant is contained inside path.

Parameters:

  | descendant | Another Gtk::TreePath.

Returns:
  `true` if descendant is contained inside path.

bool Gtk::TreePath::is_descendant | ( | const TreePath& | ancestor | ) | const

Return value: `true` if ancestor contains path somewhere below it.

Parameters:

  | ancestor | Another Gtk::TreePath.

Returns:
  `true` if ancestor contains path somewhere below it.

void Gtk::TreePath::next | ( |  | ) |

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

TreePath& Gtk::TreePath::operator= | ( | const TreeModel::iterator& | iter | ) |

TreePath& Gtk::TreePath::operator= | ( | const TreePath& | other | ) |

const_reference Gtk::TreePath::operator[] | ( | size_type | i | ) | const

reference Gtk::TreePath::operator[] | ( | size_type | i | ) |

void Gtk::TreePath::prepend_index | ( | int | index | ) |

Prepends a new index to a path.

As a result, the depth of the path is increased.

Deprecated:
  replaced by push_front().

Parameters:

  | index | The index.

bool Gtk::TreePath::prev | ( |  | ) |

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.

void Gtk::TreePath::push_back | ( | int | index | ) |

Appends a new index to a path.

As a result, the depth of the path is increased.

Parameters:

  | index | The index.

void Gtk::TreePath::push_front | ( | int | index | ) |

Prepends a new index to a path.

As a result, the depth of the path is increased.

Parameters:

  | index | The index.

const_reverse_iterator Gtk::TreePath::rbegin | ( |  | ) | const`[inline]`

References end().

reverse_iterator Gtk::TreePath::rbegin | ( |  | ) | `[inline]`

References end().

Referenced by back().

const_reverse_iterator Gtk::TreePath::rend | ( |  | ) | const`[inline]`

References begin().

reverse_iterator Gtk::TreePath::rend | ( |  | ) | `[inline]`

References begin().

bool Gtk::TreePath::set_in_selection_data | ( | SelectionData& | selection_data,
|  | const Glib::RefPtr<const TreeModel>& | model |
| ) |  |  | const

Sets selection data of target type "GTK_TREE_MODEL_ROW".

Normally used in a drag_data_get signal handler.

Parameters:

  | selection_data | some SelectionData
  | model,: | a Gtk::TreeModel

Returns:
  true if the selection_data had the proper target type to allow us to set a tree row

size_type Gtk::TreePath::size | ( |  | ) | const

void Gtk::TreePath::swap | ( | TreePath& | other | ) |

Referenced by swap().

Glib::ustring Gtk::TreePath::to_string | ( |  | ) | const

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:
  The string.

bool Gtk::TreePath::up | ( |  | ) |

Moves the path to point to its parent node, if it has a parent.

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

## Friends And Related Function Documentation

bool operator!= | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

bool operator< | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

bool operator<= | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

bool operator== | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

bool operator> | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

bool operator>= | ( | const TreePath& | lhs,
|  | const TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

Returns:
  The result

void swap | ( | TreePath& | lhs,
|  | TreePath& | rhs |
| ) |  |  | `[related]`

Parameters:

  | lhs | The left-hand side
  | rhs | The right-hand side

References swap().

Gtk::TreePath wrap | ( | GtkTreePath * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

## Member Data Documentation

GtkTreePath* Gtk::TreePath::gobject_`[protected]`

Referenced by gobj().

The documentation for this class was generated from the following file:

- treepath.h