From 6ab8f3e6c1c1ed6a93ffe209321065d603169e46 Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Mon, 4 Mar 2013 13:28:56 +0100 Subject: [PATCH] adg: provide a default value for AdgCanvas:scales Instead of defining the default value of scales in adg_canvas_new(), define it in adg_canvas_init(), so also when constructing the object with g_object_new() that property is preset. --- src/adg/adg-canvas.c | 15 +++++++-------- src/adg/tests/test-canvas.c | 10 +++++++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/adg/adg-canvas.c b/src/adg/adg-canvas.c index 1454a44e..b8083f55 100644 --- a/src/adg/adg-canvas.c +++ b/src/adg/adg-canvas.c @@ -254,10 +254,15 @@ adg_canvas_init(AdgCanvas *canvas) AdgCanvasPrivate *data = G_TYPE_INSTANCE_GET_PRIVATE(canvas, ADG_TYPE_CANVAS, AdgCanvasPrivate); + const gchar *scales[] = { + "10:1", "5:1", "3:1", "2:1", "1:1", "1:2", "1:3", "1:5", "1:10", + NULL + }; + data->size.x = 0; data->size.y = 0; - data->scales = NULL; + data->scales = g_strdupv((gchar **) scales); data->background_dress = ADG_DRESS_COLOR_BACKGROUND; data->frame_dress = ADG_DRESS_LINE_FRAME; data->title_block = NULL; @@ -435,13 +440,7 @@ _adg_set_property(GObject *object, guint prop_id, AdgCanvas * adg_canvas_new(void) { - /* Some common ISO scales for presetting AdgCanvas:scales property */ - const gchar *scales[] = { - "10:1", "5:1", "3:1", "2:1", "1:1", "1:2", "1:3", "1:5", "1:10", - NULL - }; - - return g_object_new(ADG_TYPE_CANVAS, "scales", scales, NULL); + return g_object_new(ADG_TYPE_CANVAS, NULL); } /** diff --git a/src/adg/tests/test-canvas.c b/src/adg/tests/test-canvas.c index 18f66374..96712516 100644 --- a/src/adg/tests/test-canvas.c +++ b/src/adg/tests/test-canvas.c @@ -208,14 +208,18 @@ _adg_test_scales(void) gchar **scales; gchar *scales_array[] = { "a", "b", "c", NULL }; + /* By default, AdgCanvas:scales is prefilled with some default scales */ canvas = adg_canvas_new(); + scales = adg_canvas_get_scales(canvas); + g_assert(scales != NULL); + adg_entity_destroy(ADG_ENTITY(canvas)); - /* Using the public APIs */ - - /* By default, AdgCanvas:scales is preset to some value */ + /* AdgCanvas:scales must be prefilled also when using g_object_new() */ + canvas = g_object_new(ADG_TYPE_CANVAS, NULL); scales = adg_canvas_get_scales(canvas); g_assert(scales != NULL); + /* Using the public APIs */ adg_canvas_set_scales(canvas, NULL); scales = adg_canvas_get_scales(canvas); g_assert(scales == NULL); -- 2.11.4.GIT