mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
Dump more accessibility data
This commit adds dumping of parents, attributes and states. The expected dump output has been adjusted to match.
This commit is contained in:
parent
667504d791
commit
d36d6172d2
@ -173,6 +173,54 @@ dump_relation_set (GString *string,
|
||||
g_object_unref (set);
|
||||
}
|
||||
|
||||
static void
|
||||
dump_state_set (GString *string,
|
||||
guint depth,
|
||||
AtkStateSet *set)
|
||||
{
|
||||
guint i;
|
||||
|
||||
if (set == NULL)
|
||||
return;
|
||||
|
||||
if (atk_state_set_is_empty (set))
|
||||
return;
|
||||
|
||||
g_string_append_printf (string, "%*sstate:", depth, "");
|
||||
for (i = 0; i < ATK_STATE_LAST_DEFINED; i++)
|
||||
{
|
||||
if (atk_state_set_contains_state (set, i))
|
||||
g_string_append_printf (string, " %s", atk_state_type_get_name (i));
|
||||
}
|
||||
g_string_append_c (string, '\n');
|
||||
|
||||
g_object_unref (set);
|
||||
}
|
||||
|
||||
static void
|
||||
dump_attribute (GString *string,
|
||||
guint depth,
|
||||
AtkAttribute *attribute)
|
||||
{
|
||||
g_string_append_printf (string, "%*s%s: %s\n", depth, "", attribute->name, attribute->value);
|
||||
}
|
||||
|
||||
static void
|
||||
dump_attribute_set (GString *string,
|
||||
guint depth,
|
||||
AtkAttributeSet *set)
|
||||
{
|
||||
GSList *l;
|
||||
AtkAttribute *attribute;
|
||||
|
||||
for (l = set; l; l = l->next)
|
||||
{
|
||||
attribute = l->data;
|
||||
|
||||
dump_attribute (string, depth, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
dump_accessible (AtkObject *accessible,
|
||||
guint depth,
|
||||
@ -184,12 +232,18 @@ dump_accessible (AtkObject *accessible,
|
||||
depth += DEPTH_INCREMENT;
|
||||
|
||||
g_string_append_printf (string, "%*s\"%s\"\n", depth, "", atk_role_get_name (atk_object_get_role (accessible)));
|
||||
if (atk_object_get_parent (accessible))
|
||||
g_string_append_printf (string, "%*sparent: %s\n", depth, "", get_name (atk_object_get_parent (accessible)));
|
||||
if (atk_object_get_index_in_parent (accessible) != -1)
|
||||
g_string_append_printf (string, "%*sindex: %d\n", depth, "", atk_object_get_index_in_parent (accessible));
|
||||
if (atk_object_get_name (accessible))
|
||||
g_string_append_printf (string, "%*sname: %s\n", depth, "", atk_object_get_name (accessible));
|
||||
if (atk_object_get_description (accessible))
|
||||
g_string_append_printf (string, "%*sdescription: %s\n", depth, "", atk_object_get_description (accessible));
|
||||
dump_relation_set (string, depth, atk_object_ref_relation_set (accessible));
|
||||
|
||||
dump_state_set (string, depth, atk_object_ref_state_set (accessible));
|
||||
dump_attribute_set (string, depth, atk_object_get_attributes (accessible));
|
||||
|
||||
for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++)
|
||||
{
|
||||
AtkObject *child = atk_object_ref_accessible_child (accessible, i);
|
||||
|
@ -1,5 +1,12 @@
|
||||
window1
|
||||
"window"
|
||||
index: 0
|
||||
state: enabled resizable sensitive showing visible
|
||||
toolkit: gail
|
||||
button1
|
||||
"push button"
|
||||
parent: window1
|
||||
index: 0
|
||||
name: Accessible name
|
||||
state: enabled focusable sensitive showing visible
|
||||
toolkit: gail
|
||||
|
@ -1,5 +1,12 @@
|
||||
window1
|
||||
"window"
|
||||
index: 0
|
||||
state: enabled resizable sensitive showing visible
|
||||
toolkit: gail
|
||||
button1
|
||||
"push button"
|
||||
parent: window1
|
||||
index: 0
|
||||
name: Hello World!
|
||||
state: enabled focusable sensitive showing visible
|
||||
toolkit: gail
|
||||
|
@ -1,11 +1,27 @@
|
||||
window1
|
||||
"window"
|
||||
index: 0
|
||||
state: enabled resizable sensitive showing visible
|
||||
toolkit: gail
|
||||
box1
|
||||
"filler"
|
||||
parent: window1
|
||||
index: 0
|
||||
state: enabled horizontal sensitive
|
||||
toolkit: gail
|
||||
label1
|
||||
"label"
|
||||
parent: box1
|
||||
index: 0
|
||||
name: Entry:
|
||||
label-for: entry1
|
||||
state: enabled multi-line sensitive visible
|
||||
toolkit: gail
|
||||
entry1
|
||||
"text"
|
||||
parent: box1
|
||||
index: 1
|
||||
labelled-by: label1
|
||||
state: editable enabled focusable sensitive single-line visible
|
||||
toolkit: gail
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user