aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libcustomindicator/custom-indicator.c52
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;
+}