]> Pileus Git - ~andy/gtk/commitdiff
Dump more accessibility data
authorMatthias Clasen <mclasen@redhat.com>
Sun, 19 Jun 2011 15:32:43 +0000 (11:32 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 5 Jul 2011 20:07:58 +0000 (16:07 -0400)
This commit adds dumping of parents, attributes and states.
The expected dump output has been adjusted to match.

tests/a11y/accessibility-dump.c
tests/a11y/accessible-name.txt
tests/a11y/hello-world.txt
tests/a11y/mnemonic.txt

index e1e2a96fc22cc7d42bdcb8004a0b49a9ee6a961f..0d97f1aedd367692e5da4fac4b9062961b96188c 100644 (file)
@@ -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);
index f924c61724501dd70d1cea2982c288ead0c44463..588a278cc1cff81358e81eb07d695a8f8740232b 100644 (file)
@@ -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
index d6b0fbbc9a36bd11995b3a71d463a3da8f3c0c23..c52e4049f411bc801c0a93d104eb83d437e6e1f2 100644 (file)
@@ -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
index d7403c132a1697922df3e7ed94b750c3f3b1430a..952915e19c0dfde4e6b428d7b0f6dbe28b5f72d8 100644 (file)
@@ -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
+)