[gtk/prop-list: 13/57] maplistmodel: Add an example to the docs



commit 25a01e2bd0f01e02229eed26ce6cafbc2f4d2e44
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Dec 18 21:56:57 2019 -0500

    maplistmodel: Add an example to the docs

 gtk/gtkmaplistmodel.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkmaplistmodel.c b/gtk/gtkmaplistmodel.c
index 7d998d89ff..9210a688a1 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 {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]