Example #1
0
File: adg-adim.c Project: bert/adg
static void
_adg_get_property(GObject *object, guint prop_id,
                  GValue *value, GParamSpec *pspec)
{
    AdgADimPrivate *data = ((AdgADim *) object)->data;

    switch (prop_id) {
    case PROP_VALUE:
        g_value_set_string(value, adg_dim_get_value((AdgDim *) object));
        break;
    case PROP_ORG1:
        g_value_set_boxed(value, data->org1);
        break;
    case PROP_ORG2:
        g_value_set_boxed(value, data->org2);
        break;
    case PROP_HAS_EXTENSION1:
        g_value_set_boolean(value, data->has_extension1);
        break;
    case PROP_HAS_EXTENSION2:
        g_value_set_boolean(value, data->has_extension2);
        break;
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
        break;
    }
}
Example #2
0
static void
_adg_property_value(void)
{
    AdgDim *dim;
    const gchar *valid_text, *latin1_text;
    const gchar *value;
    gchar *value_dup;

    dim = ADG_DIM(adg_ldim_new());
    valid_text = "This is some text...";
    latin1_text = "This is some àèìòù Latin1 text...";

    /* Using the public APIs */
    adg_dim_set_value(dim, valid_text);
    value = adg_dim_get_value(dim);
    g_assert_cmpstr(value, ==, valid_text);

    adg_dim_set_value(dim, latin1_text);
    value = adg_dim_get_value(dim);
    g_assert_cmpstr(value, ==, latin1_text);

    adg_dim_set_value(dim, NULL);
    value = adg_dim_get_value(dim);
    g_assert_null(value);

    /* Using GObject property methods */
    g_object_set(dim, "value", valid_text, NULL);
    g_object_get(dim, "value", &value_dup, NULL);
    g_assert_cmpstr(value_dup, ==, valid_text);
    g_free(value_dup);

    g_object_set(dim, "value", latin1_text, NULL);
    g_object_get(dim, "value", &value_dup, NULL);
    g_assert_cmpstr(value_dup, ==, latin1_text);
    g_free(value_dup);

    g_object_set(dim, "value", NULL, NULL);
    g_object_get(dim, "value", &value_dup, NULL);
    g_assert_null(value_dup);

    adg_entity_destroy(ADG_ENTITY(dim));
}