Trait gtk4::prelude::TreeModelExt[][src]

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