pub trait TreeModelExt: 'static {
Show 24 methods // Required 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§

source

fn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(&self, func: P)

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

source

fn column_type(&self, index_: i32) -> Type

Returns the type of the column.

index_

the column index

Returns

the type of the column

source

fn flags(&self) -> TreeModelFlags

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

source

fn iter(&self, path: &TreePath) -> Option<TreeIter>

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

source

fn iter_first(&self) -> Option<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

source

fn iter_from_string(&self, path_string: &str) -> Option<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

source

fn n_columns(&self) -> i32

Returns the number of columns supported by @self.

Returns

the number of columns

source

fn path(&self, iter: &TreeIter) -> TreePath

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

source

fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>

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

source

fn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>

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

source

fn iter_has_child(&self, iter: &TreeIter) -> bool

Returns true if @iter has children, false otherwise.

iter

the TreeIter to test for children

Returns

true if @iter has children

source

fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32

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

source

fn iter_next(&self, iter: &TreeIter) -> bool

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

source

fn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>

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

source

fn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>

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

source

fn iter_previous(&self, iter: &TreeIter) -> bool

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

source

fn row_changed(&self, path: &TreePath, iter: &TreeIter)

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

source

fn row_deleted(&self, path: &TreePath)

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

source

fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)

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

source

fn row_inserted(&self, path: &TreePath, iter: &TreeIter)

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

source

fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId

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

source

fn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>( &self, f: F ) -> SignalHandlerId

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

source

fn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId

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

source

fn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F ) -> SignalHandlerId

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§