diff options
author | Ted Gould <ted@canonical.com> | 2009-08-25 12:09:22 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-08-25 12:09:22 -0500 |
commit | c25508f253327fa64fc3dd165480b021273834f4 (patch) | |
tree | d0b18948e41d0ac6555a417128f0886b46422387 | |
parent | 3136e45a9b1aa56ba8d136df34310ab0891e1a84 (diff) | |
download | libdbusmenu-c25508f253327fa64fc3dd165480b021273834f4.tar.gz libdbusmenu-c25508f253327fa64fc3dd165480b021273834f4.tar.bz2 libdbusmenu-c25508f253327fa64fc3dd165480b021273834f4.zip |
Okay, building in some type handlers now.
-rw-r--r-- | libdbusmenu-glib/client.h | 4 | ||||
-rw-r--r-- | libdbusmenu-gtk/client.c | 30 |
2 files changed, 34 insertions, 0 deletions
diff --git a/libdbusmenu-glib/client.h b/libdbusmenu-glib/client.h index 9298d4e..c30f318 100644 --- a/libdbusmenu-glib/client.h +++ b/libdbusmenu-glib/client.h @@ -50,6 +50,10 @@ G_BEGIN_DECLS #define DBUSMENU_CLIENT_PROP_DBUS_NAME "dbus-name" #define DBUSMENU_CLIENT_PROP_DBUS_OBJECT "dbus-object" +#define DBUSMENU_CLIENT_TYPES_DEFAULT "menuitem" +#define DBUSMENU_CLIENT_TYPES_SEPERATOR "seperator" +#define DBUSMENU_CLIENT_TYPES_IMAGE "imageitem" + /** DbusmenuClientClass: @parent_class: #GObjectClass diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index a236123..b2d19b4 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -44,6 +44,10 @@ static void new_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint po static void delete_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, DbusmenuGtkClient * gtkclient); static void move_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint new, guint old, DbusmenuGtkClient * gtkclient); +static gboolean new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent); +static gboolean new_item_seperator (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent); +static gboolean new_item_image (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent); + /* GObject Stuff */ G_DEFINE_TYPE (DbusmenuGtkClient, dbusmenu_gtkclient, DBUSMENU_TYPE_CLIENT); @@ -62,6 +66,11 @@ static void dbusmenu_gtkclient_init (DbusmenuGtkClient *self) { g_signal_connect(G_OBJECT(self), DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM, G_CALLBACK(new_menuitem), NULL); + + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(self), DBUSMENU_CLIENT_TYPES_DEFAULT, new_item_normal); + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(self), DBUSMENU_CLIENT_TYPES_SEPERATOR, new_item_seperator); + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(self), DBUSMENU_CLIENT_TYPES_IMAGE, new_item_image); + return; } @@ -258,3 +267,24 @@ dbusmenu_gtkclient_menuitem_get (DbusmenuGtkClient * client, DbusmenuMenuitem * return mi; } +static gboolean +new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent) +{ + + + return TRUE; +} + +static gboolean +new_item_seperator (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent) +{ + + return TRUE; +} + +static gboolean +new_item_image (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent) +{ + + return TRUE; +} |