static void _check_values (AtkObject *obj) { static gint calls = 0; AtkRole role; g_print ("Start of _check_values\n"); _set_values(obj); _add_handler (obj); if (++calls < 2) { /* * Just do this on this on the first 2 objects visited */ atk_object_set_name (obj, "test123"); atk_object_set_description (obj, "test123"); } role = atk_object_get_role (obj); if (role == ATK_ROLE_FRAME || role == ATK_ROLE_DIALOG) { /* * Add handlers to all children. */ _traverse_children (obj); } g_print ("End of _check_values\n"); }
static void on_focus_in(void *data, Evas_Object *obj, void *event_info) { AtkObject *aobj = atk_get_root(); if (aobj) _traverse_children(aobj); else printf("error: ATK returns null\n"); elm_exit(); }
static void _traverse_children (AtkObject *obj) { gint n_children, i; n_children = atk_object_get_n_accessible_children (obj); for (i = 0; i < n_children; i++) { AtkObject *child; child = atk_object_ref_accessible_child (obj, i); _print_image_info(child); _traverse_children (child); g_object_unref (G_OBJECT (child)); } }
static void _check_objects (AtkObject *obj) { AtkRole role; g_print ("Start of _check_values\n"); _check_arrows(obj); role = atk_object_get_role (obj); if (role == ATK_ROLE_FRAME || role == ATK_ROLE_DIALOG) { /* * Add handlers to all children. */ _traverse_children (obj); } g_print ("End of _check_values\n"); }
static void _traverse_children(AtkObject *obj) { const char *name = atk_object_get_name(obj); printf("Traversing on child objects of: %s\n", name?name:"NULL"); int child_count = atk_object_get_n_accessible_children(obj); int i; for (i=0; i < child_count; i++) { AtkObject *child = atk_object_ref_accessible_child(obj, i); if (ATK_IS_OBJECT(child)) { _print_object_info(child); } _traverse_children(child); g_object_unref(child); } }