diff options
Diffstat (limited to 'libdbusmenu-glib/menuitem.h')
-rw-r--r-- | libdbusmenu-glib/menuitem.h | 38 |
1 files changed, 22 insertions, 16 deletions
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); |