Author: jannis
Date: 2007-01-14 15:03:28 +0000 (Sun, 14 Jan 2007)
New Revision: 24446
Modified:
libfrap/trunk/libfrap/menu/ChangeLog
libfrap/trunk/libfrap/menu/frap-menu.c
libfrap/trunk/libfrap/menu/frap-menu.h
Log:
* frap-menu.{c,h}: Add frap_menu_get_items() method as a convenience
wrapper around frap_menu_item_pool_foreach. Thanks to Benny again.
Modified: libfrap/trunk/libfrap/menu/ChangeLog
===================================================================
--- libfrap/trunk/libfrap/menu/ChangeLog 2007-01-14 14:47:57 UTC (rev
24445)
+++ libfrap/trunk/libfrap/menu/ChangeLog 2007-01-14 15:03:28 UTC (rev
24446)
@@ -1,3 +1,8 @@
+2006-01-14 Jannis Pohlmann <[EMAIL PROTECTED]>
+
+ * frap-menu.{c,h}: Add frap_menu_get_items() method as a convenience
+ wrapper around frap_menu_item_pool_foreach. Thanks to Benny again.
+
2007-01-14 Jannis Pohlmann <[EMAIL PROTECTED]>
* frap-menu.{c,h}, frap-menu-rules.h, frap-menu-standard-rules.h,
Modified: libfrap/trunk/libfrap/menu/frap-menu.c
===================================================================
--- libfrap/trunk/libfrap/menu/frap-menu.c 2007-01-14 14:47:57 UTC (rev
24445)
+++ libfrap/trunk/libfrap/menu/frap-menu.c 2007-01-14 15:03:28 UTC (rev
24446)
@@ -2480,3 +2480,44 @@
return menu->priv->pool;
}
+
+
+
+static void
+items_collect (const gchar *desktop_id,
+ FrapMenuItem *item,
+ GSList **listp)
+{
+ *listp = g_slist_prepend (*listp, item);
+}
+
+
+
+/**
+ * frap_menu_get_items:
+ * @menu : a #FrapMenu.
+ *
+ * Convenience wrapper around frap_menu_get_item_pool(), which simply returns
the
+ * #FrapMenuItem<!---->s contained within the associated item pool as singly
linked
+ * list.
+ *
+ * The caller is responsible to free the returned list using
+ * <informalexample><programlisting>
+ * g_slist_free (list);
+ * </programlisting></informalexample>
+ * when no longer needed.
+ *
+ * Return value: the list of #FrapMenuItem<!---->s within this menu.
+ **/
+GSList*
+frap_menu_get_items (FrapMenu *menu)
+{
+ GSList *items = NULL;
+
+ g_return_val_if_fail (FRAP_IS_MENU (menu), NULL);
+
+ /* collect the items in the pool */
+ frap_menu_item_pool_foreach (menu->priv->pool, (GHFunc) items_collect,
&items);
+
+ return items;
+}
Modified: libfrap/trunk/libfrap/menu/frap-menu.h
===================================================================
--- libfrap/trunk/libfrap/menu/frap-menu.h 2007-01-14 14:47:57 UTC (rev
24445)
+++ libfrap/trunk/libfrap/menu/frap-menu.h 2007-01-14 15:03:28 UTC (rev
24446)
@@ -76,6 +76,7 @@
const gchar *name);
FrapMenu *frap_menu_get_parent (FrapMenu *menu);
FrapMenuItemPool *frap_menu_get_item_pool (FrapMenu *menu);
+GSList *frap_menu_get_items (FrapMenu *menu);
G_END_DECLS;
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits