ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #01498
[Merge] lp:~ted/dbusmenu/client-get-submenu into lp:dbusmenu
Ted Gould has proposed merging lp:~ted/dbusmenu/client-get-submenu into lp:dbusmenu.
Requested reviews:
DBus Menu Team (dbusmenu-team)
Adding a function to get the submenu.
--
https://code.launchpad.net/~ted/dbusmenu/client-get-submenu/+merge/26116
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
=== modified file 'libdbusmenu-gtk/client.c'
--- libdbusmenu-gtk/client.c 2010-04-15 05:54:44 +0000
+++ libdbusmenu-gtk/client.c 2010-05-27 02:40:49 +0000
@@ -423,6 +423,29 @@
return GTK_MENU_ITEM(data);
}
+/**
+ dbusmenu_gtkclient_menuitem_get_submenu:
+ @client: A #DbusmenuGtkClient with the item in it.
+ @item: #DbusmenuMenuitem to get associated #GtkMenu on.
+
+ This grabs the submenu associated with the menuitem.
+
+ Return value: The #GtkMenu if there is one.
+*/
+GtkMenu *
+dbusmenu_gtkclient_menuitem_get_submenu (DbusmenuGtkClient * client, DbusmenuMenuitem * item)
+{
+ g_return_val_if_fail(DBUSMENU_IS_GTKCLIENT(client), NULL);
+ g_return_val_if_fail(DBUSMENU_IS_MENUITEM(item), NULL);
+
+ gpointer data = g_object_get_data(G_OBJECT(item), data_menu);
+ if (data == NULL) {
+ return NULL;
+ }
+
+ return GTK_MENU(data);
+}
+
/* The base type handler that builds a plain ol'
GtkMenuItem to represent, well, the GtkMenuItem */
static gboolean
=== modified file 'libdbusmenu-gtk/client.h'
--- libdbusmenu-gtk/client.h 2009-12-10 04:06:29 +0000
+++ libdbusmenu-gtk/client.h 2010-05-27 02:40:49 +0000
@@ -77,6 +77,7 @@
GType dbusmenu_gtkclient_get_type (void);
DbusmenuGtkClient * dbusmenu_gtkclient_new (gchar * dbus_name, gchar * dbus_object);
GtkMenuItem * dbusmenu_gtkclient_menuitem_get (DbusmenuGtkClient * client, DbusmenuMenuitem * item);
+GtkMenu * dbusmenu_gtkclient_menuitem_get_submenu (DbusmenuGtkClient * client, DbusmenuMenuitem * item);
void dbusmenu_gtkclient_newitem_base (DbusmenuGtkClient * client, DbusmenuMenuitem * item, GtkMenuItem * gmi, DbusmenuMenuitem * parent);
Follow ups