{
AtkTableCell *cell = (AtkTableCell *) user_data;
AtkObject *table;
+ DBusMessageIter iter_variant;
g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data), FALSE);
table = atk_table_cell_get_table (cell);
if (!table)
return FALSE;
- spi_object_append_reference (iter, table);
+ dbus_message_iter_open_container (iter, DBUS_TYPE_VARIANT, "(so)", &iter_variant);
+ spi_object_append_reference (&iter_variant, table);
+ dbus_message_iter_close_container (iter, &iter_variant);
return TRUE;
}
dbus_int32_t d_row, d_column, d_row_span, d_column_span;
DBusMessage *reply;
- g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data),
droute_not_yet_handled_error (message));
atk_table_cell_get_row_column_span (cell, &row, &column, &row_span,
&column_span);
reply = dbus_message_new_method_return (message);
if (reply)
{
- dbus_message_append_args (reply, DBUS_TYPE_STRING, &rv, DBUS_TYPE_INT32,
- &startOffset, DBUS_TYPE_INT32, &endOffset,
- DBUS_TYPE_BOOLEAN, &defined,
- DBUS_TYPE_INVALID);
+ dbus_message_append_args (reply, DBUS_TYPE_STRING, &rv, DBUS_TYPE_INVALID);
}
atk_attribute_set_free (set);
return reply;
gdouble dub;
g_return_val_if_fail (ATK_IS_VALUE (user_data), FALSE);
+ AtkValueIface *iface = ATK_VALUE_GET_IFACE (value);
+ if (iface->get_range)
+ {
+ AtkRange *range = atk_value_get_range (value);
+ dub = atk_range_get_lower_limit (range);
+ atk_range_free (range);
+ return droute_return_v_double (iter, dub);
+ }
g_value_init (&src, G_TYPE_DOUBLE);
atk_value_get_minimum_value (value, &src);
g_return_val_if_fail (ATK_IS_VALUE (user_data), FALSE);
+ AtkValueIface *iface = ATK_VALUE_GET_IFACE (value);
+ if (iface->get_range)
+ {
+ AtkRange *range = atk_value_get_range (value);
+ dub = atk_range_get_upper_limit (range);
+ atk_range_free (range);
+ return droute_return_v_double (iter, dub);
+ }
+
g_value_init (&src, G_TYPE_DOUBLE);
atk_value_get_maximum_value (value, &src);
g_value_init (&dest, G_TYPE_DOUBLE);
g_return_val_if_fail (ATK_IS_VALUE (user_data), FALSE);
+ AtkValueIface *iface = ATK_VALUE_GET_IFACE (value);
+ if (iface->get_increment)
+ {
+ dub = atk_value_get_increment (value);
+ return droute_return_v_double (iter, dub);
+ }
+
g_value_init (&src, G_TYPE_DOUBLE);
atk_value_get_minimum_increment (value, &src);
g_value_init (&dest, G_TYPE_DOUBLE);
g_return_val_if_fail (ATK_IS_VALUE (user_data), FALSE);
+ AtkValueIface *iface = ATK_VALUE_GET_IFACE (value);
+ if (iface->get_value_and_text)
+ {
+ gchar *text = NULL;
+ atk_value_get_value_and_text (value, &dub, &text);
+ return droute_return_v_double (iter, dub);
+ }
+
g_value_init (&src, G_TYPE_DOUBLE);
atk_value_get_current_value (value, &src);
g_value_init (&dest, G_TYPE_DOUBLE);
return FALSE;
}
dbus_message_iter_get_basic (&iter_variant, &dub);
+
+ AtkValueIface *iface = ATK_VALUE_GET_IFACE (value);
+ if (iface->set_value)
+ {
+ atk_value_set_value (value, dub);
+ return TRUE;
+ }
+
g_value_init (&src, G_TYPE_DOUBLE);
g_value_set_double (&src, dub);