Gnome::Gtk4::N-TreeRowReference
#------------------------------------------------------------------------------- #--[Class Description]---------------------------------------------------------- #-------------------------------------------------------------------------------
=begin rakudoc
Description
A GtkTreeRowReference tracks model changes so that it always refers to the
same row (a Gnome::Gtk4::N-TreePath refers to a position, not a fixed row). Create a
new GtkTreeRowReference with .new-treerowreference().
=end rakudoc
#------------------------------------------------------------------------------- #--[Class Initialization]------------------------------------------------------- #-------------------------------------------------------------------------------
=begin rakudoc
Class initialization
Note: The native version of this class is deprecated in gtk4-lib() since version 4.10
new
:native-object
Create an object using a native object from an object of the same type found elsewhere. See also Gnome::N::TopLevelSupportClass.
multi method new ( N-Object() :$native-object! )
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
new-treerowreference
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
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 undefined is returned.
method new-treerowreference ( N-Object() $model, N-Object $path --> Gnome::Gtk4::TreeRowReference )
$model; a Gnome::Gtk4::R-TreeModel.
$path; a valid Gnome::Gtk4::N-TreePath to monitor
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
new-proxy
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
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 undefined is returned. However, unlike
references created with .new-treerowreference(), it
does not listen to the model for changes. The creator of
the row reference must do this explicitly using
.inserted(), .deleted(),
.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 Gnome::Gtk4::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.
method new-proxy ( N-Object() $proxy, N-Object() $model, N-Object $path --> Gnome::Gtk4::TreeRowReference )
$proxy; a proxy Gnome::GObject::Object.
$model; a Gnome::Gtk4::R-TreeModel.
$path; a valid Gnome::Gtk4::N-TreePath to monitor
=end rakudoc
#------------------------------------------------------------------------------- #--[Methods]-------------------------------------------------------------------- #-------------------------------------------------------------------------------
=begin rakudoc
Methods =end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
copy
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Copies a Gnome::Gtk4::N-TreeRowReference.
method copy (--> N-Object )
Return value; a copy of $reference.
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
free
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Freeโs $reference. $reference may be undefined
method free ( )
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
get-model
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Returns the model that the row reference is monitoring.
method get-model (--> N-Object )
Return value; the model.
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
get-path
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Returns a path that the row reference currently points to, or undefined if the path pointed to is no longer valid.
method get-path (--> N-Object )
Return value; a current path.
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
valid
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Returns True if the $reference is non-undefined and refers to
a current valid path.
method valid (--> Bool )
Return value; True if $reference points to a valid path.
=end rakudoc
#------------------------------------------------------------------------------- #--[Functions]------------------------------------------------------------------ #-------------------------------------------------------------------------------
=begin rakudoc
Functions =end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
deleted
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Lets a set of row reference created by
.new-proxy() know that the
model emitted the row-deleted signal.
method deleted ( N-Object() $proxy, N-Object $path )
$proxy; a Gnome::GObject::Object.
$path; the path position that was deleted
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
inserted
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Lets a set of row reference created by
.new-proxy() know that the
model emitted the row-inserted signal.
method inserted ( N-Object() $proxy, N-Object $path )
$proxy; a Gnome::GObject::Object.
$path; the row position that was inserted
=end rakudoc
#------------------------------------------------------------------------------- =begin rakudoc
reordered
Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10
Lets a set of row reference created by
.new-proxy() know that the
model emitted the rows-reordered signal.
method reordered ( N-Object() $proxy, N-Object $path, N-Object $iter, Array[Int] $new-order )
$proxy; a Gnome::GObject::Object.
$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.
=end rakudoc