![]() |
![]() |
Public Member Functions | ||||
iterator | append (const TreeNodeChildren& node) | |||
Creates a new row at the end of the row's children. | ||||
iterator | append () | |||
Creates a new row at the end of the top-level. | ||||
void | clear () | |||
Removes all rows from tree_store. | ||||
iterator | erase (const iterator& iter) | |||
Removes the given row from the list store. | ||||
const GtkTreeStore* | gobj () const | |||
Provides access to the underlying C GObject. | ||||
GtkTreeStore* | gobj () | |||
Provides access to the underlying C GObject. | ||||
GtkTreeStore* | gobj_copy () | |||
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | ||||
iterator | insert (const iterator& iter) | |||
Creates a new row before the position. | ||||
iterator | insert_after (const iterator& iter) | |||
Creates a new row after the position. | ||||
bool | is_ancestor (const iterator& iter, const iterator& descendant) const | |||
Returns true if iter is an ancestor of descendant . | ||||
int | iter_depth (const iterator& iter) const | |||
Returns the depth of iter . | ||||
bool | iter_is_valid (const iterator& iter) const | |||
WARNING: This function is slow. | ||||
void | iter_swap (const iterator& a, const iterator& b) | |||
Swaps a and b in the same level of tree_store . | ||||
void | move (const iterator& source, const iterator& destination) | |||
Moves source to the position at destination. | ||||
iterator | prepend (const TreeNodeChildren& node) | |||
Creates a new row at the start of the row's children. | ||||
iterator | prepend () | |||
Creates a new row at the start of the top-level. | ||||
void | reorder (const TreeNodeChildren& node, const Glib::ArrayHandle<int>& new_order) | |||
Reorders the children of node to follow the order indicated by new_order. | ||||
void | set_column_types (const TreeModelColumnRecord& columns) | |||
virtual | ~TreeStore () | |||
Static Public Member Functions | ||||
static Glib::RefPtr<TreeStore> | create (const TreeModelColumnRecord& columns) | |||
Instantiate a new TreeStore. | ||||
Protected Member Functions | ||||
virtual void | set_value_impl (const iterator& row, int column, const Glib::ValueBase& value) | |||
Override and implement this in a derived TreeModel class, so that Row::operator() and Row::set_value() work. | ||||
TreeStore (const TreeModelColumnRecord& columns) | ||||
TreeStore () | ||||
When using this constructor, you must use set_column_types() immediately afterwards. | ||||
Related Functions | ||||
(Note that these are not member functions.) | ||||
Glib::RefPtr<Gtk::TreeStore> | wrap (GtkTreeStore* object, bool take_copy=false) | |||
|
virtual Gtk::TreeStore::~TreeStore | ( | ) | [virtual] |
Gtk::TreeStore::TreeStore | ( | ) | [protected] |
When using this constructor, you must use set_column_types() immediately afterwards.
This can be useful when deriving from this class, with a fixed TreeModelColumnRecord that is a member of the class. There is no create() method that corresponds to this constructor, because this constructor should only be used by derived classes.
Gtk::TreeStore::TreeStore | ( | const TreeModelColumnRecord& | columns | ) | [explicit, protected] |
iterator Gtk::TreeStore::append | ( | const TreeNodeChildren& | node | ) |
Creates a new row at the end of the row's children.
The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also insert() and prepend().
node | The list of the parent row's children, as returned by Gtk::TreeModel::iterator::children(). |
iterator Gtk::TreeStore::append | ( | ) |
void Gtk::TreeStore::clear | ( | ) |
Removes all rows from tree_store.
static Glib::RefPtr<TreeStore> Gtk::TreeStore::create | ( | const TreeModelColumnRecord& | columns | ) | [static] |
Removes the given row from the list store.
iter | The iterator to the row to be removed. |
const GtkTreeStore* Gtk::TreeStore::gobj | ( | ) | const [inline] |
GtkTreeStore* Gtk::TreeStore::gobj | ( | ) | [inline] |
GtkTreeStore* Gtk::TreeStore::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Creates a new row before the position.
If iter is end() then a new row will be appended to the list. The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also prepend() and append().
iter | An iterator to the row before which the new row will be inserted. |
Creates a new row after the position.
If iter is end() then a new row will be prepended to the list. The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also prepend() and append().
iter | An iterator to the row after which the new row will be inserted. |
Returns true
if iter is an ancestor of descendant .
That is, iter is the parent (or grandparent or great-grandparent) of descendant .
iter | A valid Gtk::TreeIter. | |
descendant | A valid Gtk::TreeIter. |
true
, if iter is an ancestor of descendant . int Gtk::TreeStore::iter_depth | ( | const iterator& | iter | ) | const |
Returns the depth of iter .
This will be 0 for anything on the root level, 1 for anything down a level, etc.
iter | A valid Gtk::TreeIter. |
bool Gtk::TreeStore::iter_is_valid | ( | const iterator& | iter | ) | const [virtual] |
WARNING: This function is slow.
Only use it for debugging and/or testing purposes.
Checks if the given iter is a valid iter for this Gtk::TreeStore.
iter | A Gtk::TreeIter. |
true
if the iter is valid, false
if the iter is invalid.Reimplemented from Gtk::TreeModel.
Swaps a and b in the same level of tree_store .
Note that this function only works with unsorted stores.
a | A Gtk::TreeIter. | |
b | Another Gtk::TreeIter. |
Moves source to the position at destination.
source and destination should be at the same level. Note that this function only works with unsorted stores.
source | The row that should be moved. | |
destination | The position to move to. |
iterator Gtk::TreeStore::prepend | ( | const TreeNodeChildren& | node | ) |
Creates a new row at the start of the row's children.
The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also insert() and append().
node | The list of the parent row's children, as returned by Gtk::TreeModel::iterator::children(). |
iterator Gtk::TreeStore::prepend | ( | ) |
void Gtk::TreeStore::reorder | ( | const TreeNodeChildren& | node, | |
const Glib::ArrayHandle< int > & | new_order | |||
) |
Reorders the children of node to follow the order indicated by new_order.
Note that this function only works with unsorted stores.
void Gtk::TreeStore::set_column_types | ( | const TreeModelColumnRecord& | columns | ) |
virtual void Gtk::TreeStore::set_value_impl | ( | const iterator& | row, | |
int | column, | |||
const Glib::ValueBase & | value | |||
) | [protected, virtual] |
Override and implement this in a derived TreeModel class, so that Row::operator() and Row::set_value() work.
You can probably just implement this by calling set_value_vfunc(). Your implementation of set_value_impl() should also call set_row_changed() after changing the value.
Reimplemented from Gtk::TreeModel.
Glib::RefPtr<Gtk::TreeStore> wrap | ( | GtkTreeStore * | object, | |
bool | take_copy = false | |||
) | [related] |
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. |