gail: use modern value API in paned test

This commit is contained in:
Daemonratte 2026-05-15 11:09:32 +02:00
commit 94f030875f

View file

@ -12,6 +12,91 @@ static void _property_change_handler (AtkObject *obj,
#define NUM_VALID_ROLES 1
static gint last_position;
static gint
test_value_get_current_int (AtkValue *obj)
{
#if ATK_CHECK_VERSION (2, 12, 0)
gdouble value = 0.0;
atk_value_get_value_and_text (obj, &value, NULL);
return (gint) value;
#else
GValue value = G_VALUE_INIT;
atk_value_get_current_value (obj, &value);
g_return_val_if_fail (G_VALUE_HOLDS_INT (&value), 0);
return g_value_get_int (&value);
#endif
}
static gint
test_value_get_minimum_int (AtkValue *obj)
{
#if ATK_CHECK_VERSION (2, 12, 0)
AtkRange *range;
gint value = 0;
range = atk_value_get_range (obj);
if (range)
{
value = (gint) atk_range_get_lower_limit (range);
atk_range_free (range);
}
return value;
#else
GValue value = G_VALUE_INIT;
atk_value_get_minimum_value (obj, &value);
g_return_val_if_fail (G_VALUE_HOLDS_INT (&value), 0);
return g_value_get_int (&value);
#endif
}
static gint
test_value_get_maximum_int (AtkValue *obj)
{
#if ATK_CHECK_VERSION (2, 12, 0)
AtkRange *range;
gint value = 0;
range = atk_value_get_range (obj);
if (range)
{
value = (gint) atk_range_get_upper_limit (range);
atk_range_free (range);
}
return value;
#else
GValue value = G_VALUE_INIT;
atk_value_get_maximum_value (obj, &value);
g_return_val_if_fail (G_VALUE_HOLDS_INT (&value), 0);
return g_value_get_int (&value);
#endif
}
static void
test_value_set_current_int (AtkValue *obj,
gint value)
{
#if ATK_CHECK_VERSION (2, 12, 0)
atk_value_set_value (obj, value);
#else
GValue gvalue = G_VALUE_INIT;
g_value_init (&gvalue, G_TYPE_INT);
g_value_set_int (&gvalue, value);
atk_value_set_current_value (obj, &gvalue);
g_value_unset (&gvalue);
#endif
}
static void _property_change_handler (AtkObject *obj,
AtkPropertyValues *values)
{
@ -26,24 +111,17 @@ static void _property_change_handler (AtkObject *obj,
values->property_name ? values->property_name: "NULL");
if (strcmp (values->property_name, "accessible-value") == 0)
{
GValue *value, val;
int position;
value = &val;
memset (value, 0, sizeof (GValue));
atk_value_get_current_value (ATK_VALUE (obj), value);
g_return_if_fail (G_VALUE_HOLDS_INT (value));
position = g_value_get_int (value);
position = test_value_get_current_int (ATK_VALUE (obj));
g_print ("Position is %d previous position was %d\n",
position, last_position);
last_position = position;
atk_value_get_minimum_value (ATK_VALUE (obj), value);
g_return_if_fail (G_VALUE_HOLDS_INT (value));
position = g_value_get_int (value);
position = test_value_get_minimum_int (ATK_VALUE (obj));
g_print ("Minimum Value is %d\n", position);
atk_value_get_maximum_value (ATK_VALUE (obj), value);
g_return_if_fail (G_VALUE_HOLDS_INT (value));
position = g_value_get_int (value);
position = test_value_get_maximum_int (ATK_VALUE (obj));
g_print ("Maximum Value is %d\n", position);
}
}
@ -56,19 +134,13 @@ static gint _test_paned (gpointer data)
if (role == ATK_ROLE_SPLIT_PANE)
{
GValue *value, val;
int position;
value = &val;
memset (value, 0, sizeof (GValue));
atk_value_get_current_value (ATK_VALUE (obj), value);
g_return_val_if_fail (G_VALUE_HOLDS_INT (value), FALSE);
position = g_value_get_int (value);
position = test_value_get_current_int (ATK_VALUE (obj));
g_print ("Position is : %d\n", position);
last_position = position;
position *= 2;
g_value_set_int (value, position);
atk_value_set_current_value (ATK_VALUE (obj), value);
test_value_set_current_int (ATK_VALUE (obj), position);
times++;
}
if (times < 4)