Gnome::Gtk4::StringList
Description
Gnome::Gtk4::StringList is a list model that wraps an array of strings.
The objects in the model are of type Gnome::Gtk4::StringObject and have a "string" property that can be used inside expressions.
Gnome::Gtk4::StringList is well-suited for any place where you would typically use a char*[]`, but need a list model.
GtkStringList as GtkBuildable
The Gnome::Gtk4::StringList implementation of the Gnome::Gtk4::R-Buildable interface supports adding items directly using the `<items>` element and specifying `<item>` elements for each item. Each `<item>` element supports the regular translation attributes “translatable”, “context” and “comments”.
Here is a UI definition fragment specifying a Gnome::Gtk4::StringList
Class initialization
new
:native-object
Create an object using a native object from elsewhere. See also Gnome::N::TopLevelSupportClass.
multi method new ( N-Object :$native-object! )
new-stringlist
Creates a new Gnome::Gtk4::StringList with the given $strings
.
method new-stringlist ( Array[Str] $strings --> Gnome::Gtk4::StringList \)
$strings; The strings to put in the model.
Methods
append
Appends $string
to $self
.
The $string
will be copied. See .take()
for a way to avoid that.
method append ( Str $string )
$string; the string to insert.
get-string
Gets the string that is at $position
in $self
.
If $self
does not contain $position
items, undefined is returned.
This function returns the const char *. To get the object wrapping it, use g_list_model_get_item().
method get-string ( UInt() $position --> Str )
$position; the position to get the string for.
Return value; the string at the given position.
remove
Removes the string at $position
from $self
. $position
must be smaller than the current length of the list.
method remove ( UInt() $position )
$position; the position of the string that is to be removed.
splice
Changes $self
by removing $n-removals
strings and adding $additions
to it.
This function is more efficient than .append()
and .remove()
, because it only emits the items-changed signal once for the change.
This function copies the strings in $additions
.
The parameters $position
and $n-removals
must be correct (ie: $position
+ $n-removals
must be less than or equal to the length of the list at the time this function is called).
method splice ( UInt() $position, UInt() $n-removals, Array[Str] $additions )
$position; the position at which to make the change.
$n-removals; the number of strings to remove.
$additions; The strings to add.
take
Adds $string
to self at the end, and takes ownership of it.
This variant of .append()
is convenient for formatting strings:
method take ( Str $string )
$string; (transfer ownership: full) the string to insert.