diff options
Diffstat (limited to 'src/libcustomindicator/custom-indicator.c')
-rw-r--r-- | src/libcustomindicator/custom-indicator.c | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/src/libcustomindicator/custom-indicator.c b/src/libcustomindicator/custom-indicator.c index e0fecbb..c547166 100644 --- a/src/libcustomindicator/custom-indicator.c +++ b/src/libcustomindicator/custom-indicator.c @@ -2,13 +2,31 @@ #include "config.h" #endif -#include "custom-indicator.h" +#include "libcustomindicator/custom-indicator.h" +#include "libcustomindicator/custom-indicator-enum-types.h" typedef struct _CustomIndicatorPrivate CustomIndicatorPrivate; struct _CustomIndicatorPrivate { int placeholder; }; +enum properties { + PROP_0, + PROP_ID, + PROP_CATEGORY, + PROP_STATUS, + PROP_ICON_NAME, + PROP_ATTENTION_ICON_NAME, + PROP_MENU +}; + +#define PROP_ID_S "id" +#define PROP_CATEGORY_S "category" +#define PROP_STATUS_S "status" +#define PROP_ICON_NAME_S "icon-name" +#define PROP_ATTENTION_ICON_NAME_S "attention-icon-name" +#define PROP_MENU_S "menu" + #define CUSTOM_INDICATOR_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), CUSTOM_INDICATOR_TYPE, CustomIndicatorPrivate)) @@ -16,6 +34,8 @@ static void custom_indicator_class_init (CustomIndicatorClass *klass); static void custom_indicator_init (CustomIndicator *self); static void custom_indicator_dispose (GObject *object); static void custom_indicator_finalize (GObject *object); +static void custom_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); +static void custom_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); G_DEFINE_TYPE (CustomIndicator, custom_indicator, G_TYPE_OBJECT); @@ -29,6 +49,17 @@ custom_indicator_class_init (CustomIndicatorClass *klass) object_class->dispose = custom_indicator_dispose; object_class->finalize = custom_indicator_finalize; + object_class->set_property = custom_indicator_set_property; + object_class->get_property = custom_indicator_get_property; + + g_object_class_install_property(object_class, PROP_STATUS, + g_param_spec_enum(PROP_STATUS_S, + "Indicator Status", + "Whether the indicator is shown or requests attention.", + CUSTOM_INDICATOR_TYPE_CUSTOM_INDICATOR_STATUS_T, + CUSTOM_INDICATOR_STATUS_OFF, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + return; } @@ -55,3 +86,22 @@ custom_indicator_finalize (GObject *object) return; } +static void +custom_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) +{ + CustomIndicator * self = CUSTOM_INDICATOR(object); + g_return_if_fail(self != NULL); + + CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + g_return_if_fail(priv != NULL); + + return; +} + +static void +custom_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) +{ + + + return; +} |