Class StringList

All Implemented Interfaces:
PointerInterface

public class StringList extends Object
`GtkStringList` is a list model that wraps an array of strings.

The objects in the model have a "string" property.

`GtkStringList` is well-suited for any place where you would
typically use a `char*[]`, but need a list model.

# GtkStringList as GtkBuildable

The `GtkStringList` implementation of the `GtkBuildable` 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 `GtkStringList`

```xml
<object class="GtkStringList">
<items>
<item translatable="yes">Factory</item>
<item translatable="yes">Home</item>
<item translatable="yes">Subway</item>
</items>
</object>
```

https://docs.gtk.org/gtk4/class.StringList.html

  • Constructor Details

    • StringList

      public StringList(PointerContainer pointer)
    • StringList

      public StringList(@Nullable Strs strings)
      Creates a new `GtkStringList` with the given @strings.
      Parameters:
      strings - The strings to put in the model
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • append

      public void append(@Nonnull Str string)
      Appends @string to @self.

      The @string will be copied. See
      [method@Gtk.StringList.take] for a way to avoid that.
      Parameters:
      string - the string to insert
    • append

      public void append(String string)
      Appends @string to @self.

      The @string will be copied. See
      [method@Gtk.StringList.take] for a way to avoid that.
      Parameters:
      string - the string to insert
    • getString

      public Str getString(int position)
      Gets the string that is at @position in @self.

      If @self does not contain @position items, %NULL is returned.

      This function returns the const char *. To get the
      object wrapping it, use g_list_model_get_item().
      Parameters:
      position - the position to get the string for
      Returns:
      the string at the given position
    • remove

      public void remove(int position)
      Removes the string at @position from @self.

      @position must be smaller than the current
      length of the list.
      Parameters:
      position - the position of the string that is to be removed
    • splice

      public void splice(int position, int n_removals, @Nullable Strs additions)
      Changes @self by removing @n_removals strings and adding @additions
      to it.

      This function is more efficient than [method@Gtk.StringList.append]
      and [method@Gtk.StringList.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).
      Parameters:
      position - the position at which to make the change
      n_removals - the number of strings to remove
      additions - The strings to add
    • take

      public void take(@Nonnull Str string)
      Adds @string to self at the end, and takes
      ownership of it.

      This variant of [method@Gtk.StringList.append]
      is convenient for formatting strings:

      ```c
      gtk_string_list_take (self, g_strdup_print ("%d dollars", lots));
      ```
      Parameters:
      string - the string to insert
    • asListModel

      public ListModel asListModel()
      Implements interface ListModel. Call this to get access to interface functions.
      Returns:
      ListModel
    • asBuildable

      public Buildable asBuildable()
      Implements interface Buildable. Call this to get access to interface functions.
      Returns:
      Buildable
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()