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.
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.