summaryrefslogtreecommitdiff
path: root/src/customcellrendererleft.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/customcellrendererleft.c')
-rw-r--r--src/customcellrendererleft.c40
1 files changed, 30 insertions, 10 deletions
diff --git a/src/customcellrendererleft.c b/src/customcellrendererleft.c
index 89184e5..2dc3ae9 100644
--- a/src/customcellrendererleft.c
+++ b/src/customcellrendererleft.c
@@ -2,6 +2,20 @@
#include "customcellrendererleft.h"
+/* Private class member */
+#define PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), \
+ CUSTOM_TYPE_CELL_RENDERER_LEFT, \
+ CustomCellRendererLeftPrivate))
+
+typedef struct _CustomCellRendererLeftPrivate CustomCellRendererLeftPrivate;
+
+struct _CustomCellRendererLeftPrivate
+{
+ gint64 left;
+ gchar buffer[20];
+};
+
static void custom_cell_renderer_left_get_property(GObject* object,
guint param_id,
GValue* value,
@@ -14,17 +28,18 @@ static void custom_cell_renderer_left_set_property(GObject* object,
static void convert_left_to_string(gchar* str, guint size, gint64 left);
enum {
- PROP_0,
- PROP_LEFT,
+ PROP_0,
+ PROP_LEFT,
};
G_DEFINE_TYPE(CustomCellRendererLeft, custom_cell_renderer_left, GTK_TYPE_CELL_RENDERER_TEXT)
static void custom_cell_renderer_left_init(CustomCellRendererLeft* cell_left)
{
- convert_left_to_string(cell_left->buffer, sizeof(cell_left->buffer),
- cell_left->left);
- g_object_set(cell_left, "text", cell_left->buffer, NULL);
+ convert_left_to_string(PRIVATE(cell_left)->buffer,
+ sizeof(PRIVATE(cell_left)->buffer),
+ PRIVATE(cell_left)->left);
+ g_object_set(cell_left, "text", PRIVATE(cell_left)->buffer, NULL);
}
static void custom_cell_renderer_left_class_init(CustomCellRendererLeftClass *cell_left_class)
@@ -35,6 +50,9 @@ static void custom_cell_renderer_left_class_init(CustomCellRendererLeftClass *ce
object_class = G_OBJECT_CLASS(cell_left_class);
/* cell_renderer_class = GTK_CELL_RENDERER_CLASS(cell_left_class); */
+ g_type_class_add_private(object_class,
+ sizeof(CustomCellRendererLeftPrivate));
+
object_class->set_property = custom_cell_renderer_left_set_property;
object_class->get_property = custom_cell_renderer_left_get_property;
@@ -64,7 +82,7 @@ void custom_cell_renderer_left_get_property(GObject* object,
switch (param_id)
{
case PROP_LEFT:
- g_value_set_int64(value, left->left);
+ g_value_set_int64(value, PRIVATE(left)->left);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, param_id, pspec);
@@ -85,9 +103,9 @@ void custom_cell_renderer_left_set_property(GObject* object,
{
gint64 left_value = g_value_get_int64(value);
- if (left->left != left_value)
+ if (PRIVATE(left)->left != left_value)
{
- left->left = left_value;
+ PRIVATE(left)->left = left_value;
changed = TRUE;
}
break;
@@ -98,8 +116,10 @@ void custom_cell_renderer_left_set_property(GObject* object,
if (changed)
{
- convert_left_to_string(left->buffer, sizeof(left->buffer), left->left);
- g_object_set(left, "text", left->buffer, NULL);
+ convert_left_to_string(PRIVATE(left)->buffer,
+ sizeof(PRIVATE(left)->buffer),
+ PRIVATE(left)->left);
+ g_object_set(left, "text", PRIVATE(left)->buffer, NULL);
}
}