From 167062acbd9cddb34596328404fe648f68cc6999 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 3 Feb 2010 18:09:57 -0800 Subject: Bringing through the handling of events through the local subclass of the item. --- libdbusmenu-glib/client-menuitem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libdbusmenu-glib/client-menuitem.c') diff --git a/libdbusmenu-glib/client-menuitem.c b/libdbusmenu-glib/client-menuitem.c index e77461d..cd4fdad 100644 --- a/libdbusmenu-glib/client-menuitem.c +++ b/libdbusmenu-glib/client-menuitem.c @@ -18,6 +18,7 @@ static void dbusmenu_client_menuitem_class_init (DbusmenuClientMenuitemClass *kl static void dbusmenu_client_menuitem_init (DbusmenuClientMenuitem *self); static void dbusmenu_client_menuitem_dispose (GObject *object); static void dbusmenu_client_menuitem_finalize (GObject *object); +static void handle_event (DbusmenuMenuitem * mi, const gchar * name, const GValue * value, guint timestamp); G_DEFINE_TYPE (DbusmenuClientMenuitem, dbusmenu_client_menuitem, DBUSMENU_TYPE_MENUITEM); @@ -31,6 +32,9 @@ dbusmenu_client_menuitem_class_init (DbusmenuClientMenuitemClass *klass) object_class->dispose = dbusmenu_client_menuitem_dispose; object_class->finalize = dbusmenu_client_menuitem_finalize; + DbusmenuMenuitemClass * mclass = DBUSMENU_MENUITEM_CLASS(klass); + mclass->handle_event = handle_event; + return; } @@ -65,3 +69,11 @@ dbusmenu_client_menuitem_new (gint id, DbusmenuClient * client) priv->client = client; return mi; } + +static void +handle_event (DbusmenuMenuitem * mi, const gchar * name, const GValue * value, guint timestamp) +{ + DbusmenuClientMenuitemPrivate * priv = DBUSMENU_CLIENT_MENUITEM_GET_PRIVATE(mi); + dbusmenu_client_send_event(priv->client, dbusmenu_menuitem_get_id(mi), name, value, timestamp); + return; +} -- cgit v1.2.3