From 777fdb298f9f61e309fa9d0c31adb015667f9358 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 12 May 2009 15:31:39 -0500 Subject: Changing the property update function to make it match closer to the dbus spec with two parameters. --- libdbusmenu-glib/menuitem.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index a604e7a..59af4a8 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -62,7 +62,7 @@ struct _DbusmenuMenuitemClass GObjectClass parent_class; /* Signals */ - void (*property_changed) (gchar * property); + void (*property_changed) (gchar * property, gchar * value); void (*item_activated) (void); /* Virtual functions */ -- cgit v1.2.3 From 69228957b49867644ecc5351d5dc1e0f0458fc95 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 12 May 2009 15:54:08 -0500 Subject: Adding in a foreach function for menuitems. --- libdbusmenu-glib/menuitem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index 59af4a8..5b71ea6 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -110,6 +110,7 @@ const gchar * dbusmenu_menuitem_property_get (DbusmenuMenuitem * mi, const gchar gboolean dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * property); void dbusmenu_menuitem_buildxml (DbusmenuMenuitem * mi, GPtrArray * array); +void dbusmenu_menuitem_foreach (DbusmenuMenuitem * mi, void (*func) (DbusmenuMenuitem * mi, gpointer data), gpointer data); /** SECTION:menuitem -- cgit v1.2.3 From 7b53f1b10253936c905c77e29187493c4e3781e7 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 12 May 2009 16:25:36 -0500 Subject: Adding in signals for child_added and child_removed --- libdbusmenu-glib/menuitem.h | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index 5b71ea6..122c9fb 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -44,11 +44,31 @@ G_BEGIN_DECLS #define DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED "property-changed" #define DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED "item-activated" +#define DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED "child-added" +#define DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED "child-removed" + +/** + DbusmenuMenuitem: + + This is the #GObject based object that represents a menu + item. It gets created the same on both the client and + the server side and libdbusmenu-glib does the work of making + this object model appear on both sides of DBus. Simple + really, though through updates and people coming on and off + the bus it can lead to lots of fun complex scenarios. +*/ +typedef struct _DbusmenuMenuitem DbusmenuMenuitem; +struct _DbusmenuMenuitem +{ + GObject parent; +}; /** DbusmenuMenuitemClass: @property_changed: Slot for #DbusmenuMenuitem::property-changed. @item_activated: Slot for #DbusmenuMenuitem::item-activated. + @child_added: Slot for #DbusmenuMenuitem::child-added. + @child_removed: Slot for #DbusmenuMenuitem::child-removed. @buildxml: Virtual function that appends the strings required to represent this menu item in the menu XML file. @reserved1: Reserved for future use. @@ -64,6 +84,8 @@ struct _DbusmenuMenuitemClass /* Signals */ void (*property_changed) (gchar * property, gchar * value); void (*item_activated) (void); + void (*child_added) (DbusmenuMenuitem * child); + void (*child_removed) (DbusmenuMenuitem * child); /* Virtual functions */ void (*buildxml) (GPtrArray * stringarray); @@ -74,22 +96,6 @@ struct _DbusmenuMenuitemClass void (*reserved4) (void); }; -/** - DbusmenuMenuitem: - - This is the #GObject based object that represents a menu - item. It gets created the same on both the client and - the server side and libdbusmenu-glib does the work of making - this object model appear on both sides of DBus. Simple - really, though through updates and people coming on and off - the bus it can lead to lots of fun complex scenarios. -*/ -typedef struct _DbusmenuMenuitem DbusmenuMenuitem; -struct _DbusmenuMenuitem -{ - GObject parent; -}; - GType dbusmenu_menuitem_get_type (void); DbusmenuMenuitem * dbusmenu_menuitem_new (void); -- cgit v1.2.3 From 5971493366cde4f9cc55d963b22d451dd7ffbbcd Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 12 May 2009 16:34:49 -0500 Subject: Adding in the activate signal and a function to emit it on the server side of things. --- libdbusmenu-glib/menuitem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index 122c9fb..3ba886a 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -117,6 +117,7 @@ gboolean dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * void dbusmenu_menuitem_buildxml (DbusmenuMenuitem * mi, GPtrArray * array); void dbusmenu_menuitem_foreach (DbusmenuMenuitem * mi, void (*func) (DbusmenuMenuitem * mi, gpointer data), gpointer data); +void dbusmenu_menuitem_activate (DbusmenuMenuitem * mi); /** SECTION:menuitem -- cgit v1.2.3 From d8c84214190fc0630d28a922627e686622b46d35 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 13 May 2009 10:45:32 -0500 Subject: Add in a function to search the tree for an ID. This might need to be optimized later, I'm not sure how common this operation will be. --- libdbusmenu-glib/menuitem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index 3ba886a..e2786cc 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -110,6 +110,7 @@ gboolean dbusmenu_menuitem_child_append (DbusmenuMenuitem * mi, DbusmenuMenuitem gboolean dbusmenu_menuitem_child_delete (DbusmenuMenuitem * mi, DbusmenuMenuitem * child); gboolean dbusmenu_menuitem_child_add_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint position); DbusmenuMenuitem * dbusmenu_menuitem_child_find (DbusmenuMenuitem * mi, guint id); +DbusmenuMenuitem * dbusmenu_menuitem_find_id (DbusmenuMenuitem * mi, guint id); gboolean dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * property, const gchar * value); const gchar * dbusmenu_menuitem_property_get (DbusmenuMenuitem * mi, const gchar * property); -- cgit v1.2.3 From b5312e7a0591a734a463d3eb50ff565605f210bf Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 15 May 2009 14:12:51 -0500 Subject: Adding in a function to get the properties, and make sure to catch soem more warnings and other protections. Also, no more deprecated GTK stuf. --- libdbusmenu-glib/menuitem.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index e2786cc..f820a7a 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -98,12 +98,12 @@ struct _DbusmenuMenuitemClass GType dbusmenu_menuitem_get_type (void); -DbusmenuMenuitem * dbusmenu_menuitem_new (void); -DbusmenuMenuitem * dbusmenu_menuitem_new_with_id (guint id); +DbusmenuMenuitem * dbusmenu_menuitem_new (void) G_GNUC_WARN_UNUSED_RESULT; +DbusmenuMenuitem * dbusmenu_menuitem_new_with_id (guint id) G_GNUC_WARN_UNUSED_RESULT; guint dbusmenu_menuitem_get_id (DbusmenuMenuitem * mi); GList * dbusmenu_menuitem_get_children (DbusmenuMenuitem * mi); -GList * dbusmenu_menuitem_take_children (DbusmenuMenuitem * mi); +GList * dbusmenu_menuitem_take_children (DbusmenuMenuitem * mi) G_GNUC_WARN_UNUSED_RESULT; guint dbusmenu_menuitem_get_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent); gboolean dbusmenu_menuitem_child_append (DbusmenuMenuitem * mi, DbusmenuMenuitem * child); @@ -115,6 +115,7 @@ DbusmenuMenuitem * dbusmenu_menuitem_find_id (DbusmenuMenuitem * mi, guint id); gboolean dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * property, const gchar * value); const gchar * dbusmenu_menuitem_property_get (DbusmenuMenuitem * mi, const gchar * property); gboolean dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * property); +GList * dbusmenu_menuitem_properties_list (DbusmenuMenuitem * mi) G_GNUC_WARN_UNUSED_RESULT; void dbusmenu_menuitem_buildxml (DbusmenuMenuitem * mi, GPtrArray * array); void dbusmenu_menuitem_foreach (DbusmenuMenuitem * mi, void (*func) (DbusmenuMenuitem * mi, gpointer data), gpointer data); -- cgit v1.2.3 From 6faaaaf2a55589832d0c692e13fd8da25cb2dfc9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 19 May 2009 00:14:07 +0200 Subject: A function to copy the properties off of a menuitem. --- libdbusmenu-glib/menuitem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libdbusmenu-glib/menuitem.h') diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index f820a7a..3f3e97c 100644 --- a/libdbusmenu-glib/menuitem.h +++ b/libdbusmenu-glib/menuitem.h @@ -116,6 +116,7 @@ gboolean dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * pr const gchar * dbusmenu_menuitem_property_get (DbusmenuMenuitem * mi, const gchar * property); gboolean dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * property); GList * dbusmenu_menuitem_properties_list (DbusmenuMenuitem * mi) G_GNUC_WARN_UNUSED_RESULT; +GHashTable * dbusmenu_menuitem_properties_copy (DbusmenuMenuitem * mi); void dbusmenu_menuitem_buildxml (DbusmenuMenuitem * mi, GPtrArray * array); void dbusmenu_menuitem_foreach (DbusmenuMenuitem * mi, void (*func) (DbusmenuMenuitem * mi, gpointer data), gpointer data); -- cgit v1.2.3