gtkmm: Gtk::TreePath Class Reference

A path is essentially a potential node. More...

List of all members.

Public Types

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

< iterator
reverse_iterator
typedef std::reverse_iterator

< const_iterator
const_reverse_iterator
typedef const void* BoolExpr
 This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

Public Member Functions

 TreePath ()
 TreePath (GtkTreePath* gobject, bool make_a_copy=true)
 TreePath (const TreePath& other)
TreePathoperator= (const TreePath& other)
 ~TreePath ()
void swap (TreePath& other)
GtkTreePath* gobj ()
 Provides access to the underlying C instance.

const GtkTreePath* gobj () const
 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.

 TreePath (size_type n, value_type value=0)
 TreePath (const Glib::ustring& path)
 TreePath (const TreeModel::iterator& iter)
template<class In >
 TreePath (In pbegin, In pend)
void clear ()
TreePathoperator= (const TreeModel::iterator& iter)
 operator BoolExpr () const
 Checks that the path is not empty, by calling empty().

template<class In >
void assign (In pbegin, In pend)
template<class In >
void append (In pbegin, In pend)
void push_back (int index)
 Appends a new index to a path.

void push_front (int index)
 Prepends a new index to a path.

size_type size () const
bool empty () const
reference operator[] (size_type i)
const_reference operator[] (size_type i) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
reverse_iterator rbegin ()
reverse_iterator rend ()
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
void next ()
 Moves the path to point to the next node at the current depth.

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

bool up ()
 Moves the path to point to its parent node, if it has a parent.

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

bool is_ancestor (const TreePath& descendant) const
 Returns true if descendant is a descendant of path.

bool is_descendant (const TreePath& ancestor) const
 Returns true if path is a descendant of ancestor.

Glib::ustring to_string () const
 Generates a string representation of the path.

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

Static Public Member Functions

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

static bool get_from_selection_data (const SelectionData& selection_data, TreePath& path)
 See description in the other overload.

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.


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.


Member Typedef Documentation

typedef const void* Gtk::TreePath::BoolExpr

This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

typedef const int* Gtk::TreePath::const_iterator
typedef const int& Gtk::TreePath::const_reference
typedef unsigned int Gtk::TreePath::size_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 
)
template <class In >
void Gtk::TreePath::assign ( In  pbegin,
In  pend 
) [inline]
reference Gtk::TreePath::back ( ) [inline]
const_reference Gtk::TreePath::back ( ) const [inline]
iterator Gtk::TreePath::begin ( )
const_iterator Gtk::TreePath::begin ( ) const
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
iterator Gtk::TreePath::end ( )
const_iterator Gtk::TreePath::end ( ) const
reference Gtk::TreePath::front ( ) [inline]
const_reference Gtk::TreePath::front ( ) const [inline]
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_dataa #SelectionData
modela Gtk::TreeModel
patha row in model
Returns:
true if the selection_data had target type "GTK_TREE_MODEL_ROW" and is otherwise valid
static bool Gtk::TreePath::get_from_selection_data ( const SelectionData selection_data,
TreePath path 
) [static]

See description in the other overload.

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

Provides access to the underlying C instance.

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

Provides access to the underlying C instance.

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

Returns true if descendant is a descendant of path.

Parameters:
descendantAnother Gtk::TreePath.
Returns:
true if descendant is contained inside path.
bool Gtk::TreePath::is_descendant ( const TreePath ancestor) const

Returns true if path is a descendant of ancestor.

Parameters:
ancestorAnother 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.

Gtk::TreePath::operator BoolExpr ( ) const

Checks that the path is not empty, by calling empty().

For instance,

 if(treepath)
   do_something()
Since gtkmm 2.16:
TreePath& Gtk::TreePath::operator= ( const TreePath other)
TreePath& Gtk::TreePath::operator= ( const TreeModel::iterator iter)
const_reference Gtk::TreePath::operator[] ( size_type  i) const
reference Gtk::TreePath::operator[] ( size_type  i)
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:
indexThe 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:
indexThe index.
reverse_iterator Gtk::TreePath::rbegin ( ) [inline]
const_reverse_iterator Gtk::TreePath::rbegin ( ) const [inline]
const_reverse_iterator Gtk::TreePath::rend ( ) const [inline]
reverse_iterator Gtk::TreePath::rend ( ) [inline]
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_datasome #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)
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:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
bool operator< ( const TreePath lhs,
const TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
bool operator<= ( const TreePath lhs,
const TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
bool operator== ( const TreePath lhs,
const TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
bool operator> ( const TreePath lhs,
const TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
bool operator>= ( const TreePath lhs,
const TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Returns:
The result
void swap ( TreePath lhs,
TreePath rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Gtk::TreePath wrap ( GtkTreePath *  object,
bool  take_copy = false 
) [related]

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

Parameters:
objectThe C instance.
take_copyFalse 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]

The documentation for this class was generated from the following file:
  • gtkmm/treepath.h