About all my projects
Gnome::Gtk4::StringList

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.