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 as_ptr(&self) -> *mut GtkTreeRowReference
pub fn as_ptr(&self) -> *mut GtkTreeRowReference
Return the inner pointer to the underlying C value.
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.
Deprecated since 4.10
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.
Deprecated since 4.10
proxy
a proxy GObject
model
path
a valid TreePath
to monitor
Returns
a newly allocated TreeRowReference
sourcepub fn path(&self) -> Option<TreePath>
pub fn path(&self) -> Option<TreePath>
Returns a path that the row reference currently points to,
or None
if the path pointed to is no longer valid.
Deprecated since 4.10
Returns
a current path
sourcepub fn valid(&self) -> bool
pub fn valid(&self) -> bool
Returns true
if the @self is non-None
and refers to
a current valid path.
Deprecated since 4.10
Returns
true
if @self points to a valid path
source§impl TreeRowReference
impl TreeRowReference
sourcepub fn reordered(
&self,
proxy: &impl IsA<Object>,
path: &TreePath,
iter: &TreeIter,
new_order: &[i32]
)
pub fn reordered(
&self,
proxy: &impl IsA<Object>,
path: &TreePath,
iter: &TreeIter,
new_order: &[i32]
)
Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the ::rows-reordered signal.
Deprecated since 4.10
proxy
a GObject
path
the parent path of the reordered signal
iter
the iter pointing to the parent of the reordered
new_order
the new order of rows
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
.