diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-12-18 21:56:57 -0500 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2020-02-04 17:51:01 +0100 |
commit | 6640881711f7eb138acf4c1b2e7fde7a2ef40abf (patch) | |
tree | 6aaedf79871f634b1e166f6aaa8975c6b917a637 /gtk/gtkmaplistmodel.c | |
parent | 3bb8b56ab3891f08f7fa49f7b7511d23ab67df8e (diff) | |
download | gtk+-6640881711f7eb138acf4c1b2e7fde7a2ef40abf.tar.gz |
maplistmodel: Add an example to the docs
Diffstat (limited to 'gtk/gtkmaplistmodel.c')
-rw-r--r-- | gtk/gtkmaplistmodel.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/gtk/gtkmaplistmodel.c b/gtk/gtkmaplistmodel.c index d30c3eb7a0..e7e37c8ac0 100644 --- a/gtk/gtkmaplistmodel.c +++ b/gtk/gtkmaplistmodel.c @@ -34,10 +34,30 @@ * #GtkMapListModel is a list model that takes a list model and maps the items * in that model to different items according to a #GtkMapListModelMapFunc. * - * FIXME: Add useful examples here, like turning #GFile into #GFileInfo or #GdkPixmap. + * 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; + * } * - * #GtkMapListModel will attempt to discard the mapped objects as soon as they are no - * longer needed and recreate them if necessary. + * widgets = gtk_widget_observe_children (widget); + * + * controllers = gtk_map_list_model_new (G_TYPE_LIST_MODEL, + * 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. */ enum { |