GtkMapListModel

A gtk.map_list_model.MapListModel maps the items in a list model to different items.

gtk.map_list_model.MapListModel uses a gtk.types.MapListModelMapFunc.

struct GtkMapListModel

Examples

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);

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

gtk.map_list_model.MapListModel passes through sections from the underlying model.