summaryrefslogtreecommitdiff
path: root/gtk/gtkmaplistmodel.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-12-18 21:56:57 -0500
committerBenjamin Otte <otte@redhat.com>2020-02-04 17:51:01 +0100
commit6640881711f7eb138acf4c1b2e7fde7a2ef40abf (patch)
tree6aaedf79871f634b1e166f6aaa8975c6b917a637 /gtk/gtkmaplistmodel.c
parent3bb8b56ab3891f08f7fa49f7b7511d23ab67df8e (diff)
downloadgtk+-6640881711f7eb138acf4c1b2e7fde7a2ef40abf.tar.gz
maplistmodel: Add an example to the docs
Diffstat (limited to 'gtk/gtkmaplistmodel.c')
-rw-r--r--gtk/gtkmaplistmodel.c26
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 {