Struct gtk4::TreeRowReference
source · #[repr(transparent)]pub struct TreeRowReference { /* private fields */ }
Expand description
A GtkTreeRowReference tracks model changes so that it always refers to the
same row (a TreePath
refers to a position, not a fixed row). Create a
new GtkTreeRowReference with gtk_tree_row_reference_new().
Implementations§
source§impl TreeRowReference
impl TreeRowReference
sourcepub fn new(
model: &impl IsA<TreeModel>,
path: &TreePath
) -> Option<TreeRowReference>
pub fn new( model: &impl IsA<TreeModel>, path: &TreePath ) -> Option<TreeRowReference>
Creates a row reference based on @path.
This reference will keep pointing to the node pointed to
by @path, so long as it exists. Any changes that occur on @model are
propagated, and the path is updated appropriately. If
@path isn’t a valid path in @model, then None
is returned.
model
path
a valid TreePath
to monitor
Returns
a newly allocated TreeRowReference
sourcepub fn new_proxy(
proxy: &impl IsA<Object>,
model: &impl IsA<TreeModel>,
path: &TreePath
) -> Option<TreeRowReference>
pub fn new_proxy( proxy: &impl IsA<Object>, model: &impl IsA<TreeModel>, path: &TreePath ) -> Option<TreeRowReference>
You do not need to use this function.
Creates a row reference based on @path.
This reference will keep pointing to the node pointed to
by @path, so long as it exists. If @path isn’t a valid
path in @model, then None
is returned. However, unlike
references created with gtk_tree_row_reference_new(), it
does not listen to the model for changes. The creator of
the row reference must do this explicitly using
gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(),
gtk_tree_row_reference_reordered().
These functions must be called exactly once per proxy when the
corresponding signal on the model is emitted. This single call
updates all row references for that proxy. Since built-in GTK
objects like TreeView
already use this mechanism internally,
using them as the proxy object will produce unpredictable results.
Further more, passing the same object as @model and @proxy
doesn’t work for reasons of internal implementation.
This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications.
proxy
a proxy GObject
model
path
a valid TreePath
to monitor
Returns
a newly allocated TreeRowReference
Trait Implementations§
source§impl Clone for TreeRowReference
impl Clone for TreeRowReference
source§impl Debug for TreeRowReference
impl Debug for TreeRowReference
source§impl Hash for TreeRowReference
impl Hash for TreeRowReference
source§impl Ord for TreeRowReference
impl Ord for TreeRowReference
source§fn cmp(&self, other: &TreeRowReference) -> Ordering
fn cmp(&self, other: &TreeRowReference) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<TreeRowReference> for TreeRowReference
impl PartialEq<TreeRowReference> for TreeRowReference
source§fn eq(&self, other: &TreeRowReference) -> bool
fn eq(&self, other: &TreeRowReference) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<TreeRowReference> for TreeRowReference
impl PartialOrd<TreeRowReference> for TreeRowReference
source§fn partial_cmp(&self, other: &TreeRowReference) -> Option<Ordering>
fn partial_cmp(&self, other: &TreeRowReference) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for TreeRowReference
impl StaticType for TreeRowReference
source§fn static_type() -> Type
fn static_type() -> Type
Self
.