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.
sourcepub unsafe fn from_glib_ptr_borrow<'a>(
ptr: *const *const GtkTreeRowReference
) -> &'a Self
pub unsafe fn from_glib_ptr_borrow<'a>( ptr: *const *const GtkTreeRowReference ) -> &'a Self
Borrows the underlying C value.
sourcepub unsafe fn from_glib_ptr_borrow_mut<'a>(
ptr: *mut *mut GtkTreeRowReference
) -> &'a mut Self
pub unsafe fn from_glib_ptr_borrow_mut<'a>( ptr: *mut *mut GtkTreeRowReference ) -> &'a mut Self
Borrows the underlying C value mutably.
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 From<TreeRowReference> for Value
impl From<TreeRowReference> for Value
source§fn from(o: TreeRowReference) -> Self
fn from(o: TreeRowReference) -> Self
source§impl HasParamSpec for TreeRowReference
impl HasParamSpec for TreeRowReference
type ParamSpec = ParamSpecBoxed
§type SetValue = TreeRowReference
type SetValue = TreeRowReference
type BuilderFn = fn(_: &str) -> ParamSpecBoxedBuilder<'_, TreeRowReference>
fn param_spec_builder() -> Self::BuilderFn
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
.