aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-01-21 16:43:44 -0600
committerTed Gould <ted@gould.cx>2011-01-21 16:43:44 -0600
commit97083dc0b396d91c68fe9f439024cc048333e87b (patch)
tree76b6a39d1fb01ea91e6ee73780d6c8ae032add82
parent91544bb4a5ae2bc6eea3e930da6c7ebbb32216d0 (diff)
downloadlibdbusmenu-97083dc0b396d91c68fe9f439024cc048333e87b.tar.gz
libdbusmenu-97083dc0b396d91c68fe9f439024cc048333e87b.tar.bz2
libdbusmenu-97083dc0b396d91c68fe9f439024cc048333e87b.zip
Adding in set and get property functions.
-rw-r--r--libdbusmenu-gtk/serializablemenuitem.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/serializablemenuitem.c b/libdbusmenu-gtk/serializablemenuitem.c
index 06dfa59..99bc585 100644
--- a/libdbusmenu-gtk/serializablemenuitem.c
+++ b/libdbusmenu-gtk/serializablemenuitem.c
@@ -56,6 +56,14 @@ static void dbusmenu_gtk_serializable_menu_item_class_init (DbusmenuGtkSerializa
static void dbusmenu_gtk_serializable_menu_item_init (DbusmenuGtkSerializableMenuItem *self);
static void dbusmenu_gtk_serializable_menu_item_dispose (GObject *object);
static void dbusmenu_gtk_serializable_menu_item_finalize (GObject *object);
+static void set_property (GObject * obj,
+ guint id,
+ const GValue * value,
+ GParamSpec * pspec);
+static void get_property (GObject * obj,
+ guint id,
+ GValue * value,
+ GParamSpec * pspec);
/* GObject boiler plate */
G_DEFINE_TYPE (DbusmenuGtkSerializableMenuItem, dbusmenu_gtk_serializable_menu_item, GTK_TYPE_MENU_ITEM);
@@ -70,6 +78,8 @@ dbusmenu_gtk_serializable_menu_item_class_init (DbusmenuGtkSerializableMenuItemC
object_class->dispose = dbusmenu_gtk_serializable_menu_item_dispose;
object_class->finalize = dbusmenu_gtk_serializable_menu_item_finalize;
+ object_class->set_property = set_property;
+ object_class->get_property = get_property;
g_object_class_install_property (object_class, PROP_MENUITEM,
g_param_spec_object(DBUSMENU_GTK_SERIALIZABLE_MENU_ITEM_PROP_MENUITEM, "DBusmenu Menuitem attached to item",
@@ -119,6 +129,42 @@ dbusmenu_gtk_serializable_menu_item_finalize (GObject *object)
return;
}
+/* Set an object property */
+static void
+set_property (GObject * obj, guint id, const GValue * value, GParamSpec * pspec)
+{
+ DbusmenuGtkSerializableMenuItem * smi = DBUSMENU_GTK_SERIALIZABLE_MENU_ITEM(obj);
+
+ switch (id) {
+ case PROP_MENUITEM:
+ smi->priv->mi = g_value_get_object(value);
+ break;
+ default:
+ g_return_if_reached();
+ break;
+ }
+
+ return;
+}
+
+/* Get an object property */
+static void
+get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec)
+{
+ DbusmenuGtkSerializableMenuItem * smi = DBUSMENU_GTK_SERIALIZABLE_MENU_ITEM(obj);
+
+ switch (id) {
+ case PROP_MENUITEM:
+ g_value_set_object(value, smi->priv->mi);
+ break;
+ default:
+ g_return_if_reached();
+ break;
+ }
+
+ return;
+}
+
/**
dbusmenu_gtk_serializable_menu_item_build_dbusmenu_menuitem:
@smi: #DbusmenuGtkSerializableMenuItem to build a #DbusmenuMenuitem mirroring