diff options
author | Ted Gould <ted@canonical.com> | 2009-06-05 15:08:56 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-06-05 15:08:56 -0500 |
commit | ec5c382624da19a1a83d1e75d21f74778df01f38 (patch) | |
tree | ab9fcd33632bf90eb6374408a6d4bb2e4a9050e3 /libdbusmenu-glib/menuitem.h | |
parent | 3d0e0276fd7856831dcc845a24a252ad304b3bad (diff) | |
parent | 3c9734543b84ecd412ffd214ac0560b11858a00a (diff) | |
download | libdbusmenu-ec5c382624da19a1a83d1e75d21f74778df01f38.tar.gz libdbusmenu-ec5c382624da19a1a83d1e75d21f74778df01f38.tar.bz2 libdbusmenu-ec5c382624da19a1a83d1e75d21f74778df01f38.zip |
Merging in work on properties. Cody reviewed in merge request 6707.
Diffstat (limited to 'libdbusmenu-glib/menuitem.h')
-rw-r--r-- | libdbusmenu-glib/menuitem.h | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/libdbusmenu-glib/menuitem.h b/libdbusmenu-glib/menuitem.h index a604e7a..3f3e97c 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. @@ -62,8 +82,10 @@ struct _DbusmenuMenuitemClass GObjectClass parent_class; /* Signals */ - void (*property_changed) (gchar * property); + 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,42 +96,31 @@ 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); -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); 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); 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); +void dbusmenu_menuitem_activate (DbusmenuMenuitem * mi); /** SECTION:menuitem |