summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatryk Kaczmarek <patryk.k@samsung.com>2015-09-28 13:36:31 +0200
committerMike Gorse <mgorse@suse.com>2015-10-12 14:03:21 -0500
commit94e7613c179960b71cb3e8541623bc0c87626f7c (patch)
tree0959ed4cd7380522642e5831e04a0a42660f563b
parent10eb6a6072b070262de1bdd4bb971917667ea8ad (diff)
downloadat-spi2-atk-94e7613c179960b71cb3e8541623bc0c87626f7c.tar.gz
Text, Value and Table Cell adaptors fixedAT_SPI2_ATK_2_18_1
https://bugzilla.gnome.org/show_bug.cgi?id=755724
-rw-r--r--atk-adaptor/adaptors/table-cell-adaptor.c7
-rw-r--r--atk-adaptor/adaptors/text-adaptor.c5
-rw-r--r--atk-adaptor/adaptors/value-adaptor.c40
-rw-r--r--atk-adaptor/introspection.c3
4 files changed, 46 insertions, 9 deletions
diff --git a/atk-adaptor/adaptors/table-cell-adaptor.c b/atk-adaptor/adaptors/table-cell-adaptor.c
index c557ed5..3418f4c 100644
--- a/atk-adaptor/adaptors/table-cell-adaptor.c
+++ b/atk-adaptor/adaptors/table-cell-adaptor.c
@@ -128,13 +128,16 @@ impl_get_Table (DBusMessageIter * iter, void *user_data)
{
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;
}
@@ -147,7 +150,7 @@ impl_GetRowColumnSpan (DBusConnection * bus, DBusMessage * message,
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);
diff --git a/atk-adaptor/adaptors/text-adaptor.c b/atk-adaptor/adaptors/text-adaptor.c
index e80daf8..326e61a 100644
--- a/atk-adaptor/adaptors/text-adaptor.c
+++ b/atk-adaptor/adaptors/text-adaptor.c
@@ -396,10 +396,7 @@ impl_GetAttributeValue (DBusConnection * bus, DBusMessage * message,
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;
diff --git a/atk-adaptor/adaptors/value-adaptor.c b/atk-adaptor/adaptors/value-adaptor.c
index 9767fc4..05d7303 100644
--- a/atk-adaptor/adaptors/value-adaptor.c
+++ b/atk-adaptor/adaptors/value-adaptor.c
@@ -40,6 +40,14 @@ impl_get_MinimumValue (DBusMessageIter * iter, void *user_data)
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);
@@ -66,6 +74,15 @@ impl_get_MaximumValue (DBusMessageIter * iter, void *user_data)
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);
@@ -87,6 +104,13 @@ impl_get_MinimumIncrement (DBusMessageIter * iter, void *user_data)
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);
@@ -108,6 +132,14 @@ impl_get_CurrentValue (DBusMessageIter * iter, void *user_data)
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);
@@ -137,6 +169,14 @@ impl_set_CurrentValue (DBusMessageIter * iter, void *user_data)
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);
diff --git a/atk-adaptor/introspection.c b/atk-adaptor/introspection.c
index 07f891b..84fec4c 100644
--- a/atk-adaptor/introspection.c
+++ b/atk-adaptor/introspection.c
@@ -620,9 +620,6 @@ const char *spi_org_a11y_atspi_Text =
" <arg direction=\"in\" name=\"offset\" type=\"i\" />"
" <arg direction=\"in\" name=\"attributeName\" type=\"s\" />"
" <arg direction=\"out\" type=\"s\" />"
-" <arg direction=\"out\" name=\"startOffset\" type=\"i\" />"
-" <arg direction=\"out\" name=\"endOffset\" type=\"i\" />"
-" <arg direction=\"out\" name=\"defined\" type=\"b\" />"
" </method>"
""
" <method name=\"GetAttributes\">"