pub trait TreeModelExt: 'static {
Show 24 methods fn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(
        &self,
        func: P
    );
fn column_type(&self, index_: i32) -> Type;
fn flags(&self) -> TreeModelFlags;
fn iter(&self, path: &TreePath) -> Option<TreeIter>;
fn iter_first(&self) -> Option<TreeIter>;
fn iter_from_string(&self, path_string: &str) -> Option<TreeIter>;
fn n_columns(&self) -> i32;
fn path(&self, iter: &TreeIter) -> TreePath;
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>;
fn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>;
fn iter_has_child(&self, iter: &TreeIter) -> bool;
fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32;
fn iter_next(&self, iter: &TreeIter) -> bool;
fn iter_nth_child(
        &self,
        parent: Option<&TreeIter>,
        n: i32
    ) -> Option<TreeIter>;
fn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>;
fn iter_previous(&self, iter: &TreeIter) -> bool;
fn row_changed(&self, path: &TreePath, iter: &TreeIter);
fn row_deleted(&self, path: &TreePath);
fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter);
fn row_inserted(&self, path: &TreePath, iter: &TreeIter);
fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Required methods

Calls @func on each node in model in a depth-first fashion.

If @func returns true, then the tree ceases to be walked, and gtk_tree_model_foreach() returns.

func

a function to be called on each row

Returns the type of the column.

index_

the column index

Returns

the type of the column

Returns a set of flags supported by this interface.

The flags are a bitwise combination of TreeModelFlags. The flags supported should not change during the lifetime of the @self.

Returns

the flags supported by this interface

Sets @iter to a valid iterator pointing to @path.

If @path does not exist, @iter is set to an invalid iterator and false is returned.

path

the TreePath

Returns

true, if @iter was set

iter

the uninitialized TreeIter

Initializes @iter with the first iterator in the tree (the one at the path “0”).

Returns false if the tree is empty, true otherwise.

Returns

true, if @iter was set

iter

the uninitialized TreeIter

Sets @iter to a valid iterator pointing to @path_string, if it exists.

Otherwise, @iter is left invalid and false is returned.

path_string

a string representation of a TreePath

Returns

true, if @iter was set

iter

an uninitialized TreeIter

Returns the number of columns supported by @self.

Returns

the number of columns

Returns a newly-created TreePath referenced by @iter.

This path should be freed with gtk_tree_path_free().

iter

the TreeIter

Returns

a newly-created TreePath

Generates a string representation of the iter.

This string is a “:” separated list of numbers. For example, “4:10:0:3” would be an acceptable return value for this string.

iter

a TreeIter

Returns

a newly-allocated string

Sets @iter to point to the first child of @parent.

If @parent has no children, false is returned and @iter is set to be invalid. @parent will remain a valid node after this function has been called.

If @parent is None returns the first node, equivalent to gtk_tree_model_get_iter_first (tree_model, iter);

parent

the TreeIter

Returns

true, if @iter has been set to the first child

iter

the new TreeIter to be set to the child

Returns true if @iter has children, false otherwise.

iter

the TreeIter to test for children

Returns

true if @iter has children

Returns the number of children that @iter has.

As a special case, if @iter is None, then the number of toplevel nodes is returned.

iter

the TreeIter

Returns

the number of children of @iter

Sets @iter to point to the node following it at the current level.

If there is no next @iter, false is returned and @iter is set to be invalid.

iter

the TreeIter

Returns

true if @iter has been changed to the next node

Sets @iter to be the child of @parent, using the given index.

The first index is 0. If @n is too big, or @parent has no children, @iter is set to an invalid iterator and false is returned. @parent will remain a valid node after this function has been called. As a special case, if @parent is None, then the @n-th root node is set.

parent

the TreeIter to get the child from

n

the index of the desired child

Returns

true, if @parent has an @n-th child

iter

the TreeIter to set to the nth child

Sets @iter to be the parent of @child.

If @child is at the toplevel, and doesn’t have a parent, then @iter is set to an invalid iterator and false is returned. @child will remain a valid node after this function has been called.

@iter will be initialized before the lookup is performed, so @child and @iter cannot point to the same memory location.

child

the TreeIter

Returns

true, if @iter is set to the parent of @child

iter

the new TreeIter to set to the parent

Sets @iter to point to the previous node at the current level.

If there is no previous @iter, false is returned and @iter is set to be invalid.

iter

the TreeIter

Returns

true if @iter has been changed to the previous node

Emits the ::row-changed signal on @self.

See signal::TreeModel::row-changed.

path

a TreePath pointing to the changed row

iter

a valid TreeIter pointing to the changed row

Emits the ::row-deleted signal on @self.

See signal::TreeModel::row-deleted.

This should be called by models after a row has been removed. The location pointed to by @path should be the location that the row previously was at. It may not be a valid location anymore.

Nodes that are deleted are not unreffed, this means that any outstanding references on the deleted node should not be released.

path

a TreePath pointing to the previous location of the deleted row

Emits the ::row-has-child-toggled signal on @self.

See signal::TreeModel::row-has-child-toggled.

This should be called by models after the child state of a node changes.

path

a TreePath pointing to the changed row

iter

a valid TreeIter pointing to the changed row

Emits the ::row-inserted signal on @self.

See signal::TreeModel::row-inserted.

path

a TreePath pointing to the inserted row

iter

a valid TreeIter pointing to the inserted row

This signal is emitted when a row in the model has changed.

path

a TreePath identifying the changed row

iter

a valid TreeIter pointing to the changed row

This signal is emitted when a row has been deleted.

Note that no iterator is passed to the signal handler, since the row is already deleted.

This should be called by models after a row has been removed. The location pointed to by @path should be the location that the row previously was at. It may not be a valid location anymore.

path

a TreePath identifying the row

This signal is emitted when a row has gotten the first child row or lost its last child row.

path

a TreePath identifying the row

iter

a valid TreeIter pointing to the row

This signal is emitted when a new row has been inserted in the model.

Note that the row may still be empty at this point, since it is a common pattern to first insert an empty row, and then fill it with the desired values.

path

a TreePath identifying the new row

iter

a valid TreeIter pointing to the new row

Implementors