Package org.gnome.gtk

Class MapListModel<T extends GObject>

java.lang.Object
All Implemented Interfaces:
Proxy, ListModelJavaList<T>, Iterable<T>, Collection<T>, List<T>, SequencedCollection<T>, ListModel<T>, SectionModel<T>

@Generated("io.github.jwharm.JavaGI") public class MapListModel<T extends GObject> extends GObject implements ListModel<T>, SectionModel<T>
A GtkMapListModel maps the items in a list model to different items.

GtkMapListModel uses a Gtk.MapListModelMapFunc.

Example: Create a list of GtkEventControllers

static gpointer
 map_to_controllers (gpointer widget,
                     gpointer data)
 {
   gpointer result = gtk_widget_observe_controllers (widget);
   g_object_unref (widget);
   return result;
 }

 widgets = gtk_widget_observe_children (widget);

 controllers = gtk_map_list_model_new (widgets,
                                       map_to_controllers,
                                       NULL, NULL);

 model = gtk_flatten_list_model_new (GTK_TYPE_EVENT_CONTROLLER,
                                     controllers);
 

GtkMapListModel will attempt to discard the mapped objects as soon as they are no longer needed and recreate them if necessary.

GtkMapListModel passes through sections from the underlying model.