diff options
author | Ted Gould <ted@canonical.com> | 2009-11-03 23:15:10 -0600 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-11-03 23:15:10 -0600 |
commit | 0db39bf65d1007924bded3d48d928a1a7c034581 (patch) | |
tree | 8d5284794a763db18cedd7b95e6d8c5dc61c67c8 /libindicator | |
parent | b267db90f7e2a569b64fd236d431f7ec5f7dfc2f (diff) | |
download | libayatana-indicator-0db39bf65d1007924bded3d48d928a1a7c034581.tar.gz libayatana-indicator-0db39bf65d1007924bded3d48d928a1a7c034581.tar.bz2 libayatana-indicator-0db39bf65d1007924bded3d48d928a1a7c034581.zip |
Adding in some signals to make for some more fun.
Diffstat (limited to 'libindicator')
-rw-r--r-- | libindicator/indicator-object.c | 40 | ||||
-rw-r--r-- | libindicator/indicator-object.h | 3 |
2 files changed, 43 insertions, 0 deletions
diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c index 108fecb..2ab0f84 100644 --- a/libindicator/indicator-object.c +++ b/libindicator/indicator-object.c @@ -50,6 +50,16 @@ struct _IndicatorObjectPrivate { #define INDICATOR_OBJECT_GET_PRIVATE(o) (INDICATOR_OBJECT(o)->priv) +/* Signals Stuff */ +enum { + ENTRY_ADDED, + ENTRY_REMOVED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +/* GObject stuff */ static void indicator_object_class_init (IndicatorObjectClass *klass); static void indicator_object_init (IndicatorObject *self); static void indicator_object_dispose (GObject *object); @@ -77,6 +87,36 @@ indicator_object_class_init (IndicatorObjectClass *klass) klass->get_entries = get_entries_default; + /** + IndicatorObject::entry-added: + @arg0: The #IndicatorObject object + + Signaled when a new entry is added and should + be shown by the person using this object. + */ + signals[ENTRY_ADDED] = g_signal_new (INDICATOR_OBJECT_SIGNAL_ENTRY_ADDED, + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (IndicatorObjectClass, entry_added), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER, G_TYPE_NONE); + + /** + IndicatorObject::entry-removed: + @arg0: The #IndicatorObject object + + Signaled when an entry is removed and should + be removed by the person using this object. + */ + signals[ENTRY_REMOVED] = g_signal_new (INDICATOR_OBJECT_SIGNAL_ENTRY_REMOVED, + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (IndicatorObjectClass, entry_removed), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER, G_TYPE_NONE); + return; } diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h index c2d1944..1ac39b0 100644 --- a/libindicator/indicator-object.h +++ b/libindicator/indicator-object.h @@ -36,6 +36,9 @@ G_BEGIN_DECLS #define INDICATOR_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_OBJECT_TYPE)) #define INDICATOR_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_OBJECT_TYPE, IndicatorObjectClass)) +#define INDICATOR_OBJECT_SIGNAL_ENTRY_ADDED "entry-added" +#define INDICATOR_OBJECT_SIGNAL_ENTRY_REMOVED "entry-removed" + typedef struct _IndicatorObject IndicatorObject; typedef struct _IndicatorObjectClass IndicatorObjectClass; typedef struct _IndicatorObjectPrivate IndicatorObjectPrivate; |