Trait gtk::prelude::TreeModelExt
source · [−]pub trait TreeModelExt: 'static {
Show 26 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) -> Option<TreePath>;
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>;
fn value(&self, iter: &TreeIter, column: i32) -> Value;
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 rows_reordered_with_length(
&self,
path: &TreePath,
iter: Option<&TreeIter>,
new_order: &[i32]
);
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
Trait containing all TreeModel
methods.
Implementors
ListStore
, TreeModelFilter
, TreeModelSort
, TreeModel
, TreeSortable
, TreeStore
Required Methods
sourcefn column_type(&self, index_: i32) -> Type
fn column_type(&self, index_: i32) -> Type
sourcefn flags(&self) -> TreeModelFlags
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
sourcefn iter_first(&self) -> Option<TreeIter>
fn iter_first(&self) -> Option<TreeIter>
sourcefn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
fn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
sourcefn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
sourcefn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>
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
Returns
true
, if iter
has been set to the first child
iter
the new TreeIter
-struct to be set to the child
sourcefn iter_has_child(&self, iter: &TreeIter) -> bool
fn iter_has_child(&self, iter: &TreeIter) -> bool
sourcefn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
sourcefn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>
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
-struct to get the child from, or None
.
n
the index of the desired child
Returns
true
, if parent
has an n
-th child
iter
the TreeIter
-struct to set to the nth child
sourcefn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>
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
-struct
Returns
true
, if iter
is set to the parent of child
iter
the new TreeIter
-struct to set to the parent
sourcefn iter_previous(&self, iter: &TreeIter) -> bool
fn iter_previous(&self, iter: &TreeIter) -> bool
sourcefn row_changed(&self, path: &TreePath, iter: &TreeIter)
fn row_changed(&self, path: &TreePath, iter: &TreeIter)
sourcefn row_deleted(&self, path: &TreePath)
fn row_deleted(&self, path: &TreePath)
Emits the signal::TreeModel::row-deleted
signal on self
.
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
-struct pointing to the previous location of
the deleted row
sourcefn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
sourcefn row_inserted(&self, path: &TreePath, iter: &TreeIter)
fn row_inserted(&self, path: &TreePath, iter: &TreeIter)
sourcefn rows_reordered_with_length(
&self,
path: &TreePath,
iter: Option<&TreeIter>,
new_order: &[i32]
)
fn rows_reordered_with_length(
&self,
path: &TreePath,
iter: Option<&TreeIter>,
new_order: &[i32]
)
Emits the signal::TreeModel::rows-reordered
signal on self
.
This should be called by models when their rows have been reordered.
path
a TreePath
-struct pointing to the tree node whose children
have been reordered
iter
a valid TreeIter
-struct pointing to the node
whose children have been reordered, or None
if the depth
of path
is 0
new_order
an array of integers
mapping the current position of each child to its old
position before the re-ordering,
i.e. new_order``[newpos] = oldpos
sourcefn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
sourcefn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>(
&self,
f: F
) -> SignalHandlerId
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
-struct identifying the row
sourcefn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_row_has_child_toggled<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
sourcefn connect_row_inserted<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F
) -> SignalHandlerId
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
-struct identifying the new row
iter
a valid TreeIter
-struct pointing to the new row