static void _check_paned (AtkObject *obj) { static gboolean done_paned = FALSE; AtkRole role; role = atk_object_get_role (obj); if (role == ATK_ROLE_FRAME) { AtkRole roles[NUM_VALID_ROLES]; AtkObject *paned_obj; if (done_paned) return; roles[0] = ATK_ROLE_SPLIT_PANE; paned_obj = find_object_by_role (obj, roles, NUM_VALID_ROLES); if (paned_obj) { if (!done_paned) { done_paned = TRUE; } atk_object_connect_property_change_handler (paned_obj, (AtkPropertyChangeHandler*) _property_change_handler); gtk_timeout_add (2000, _test_paned, paned_obj); } return; } if (role != ATK_ROLE_COMBO_BOX) return; }
static void _check_combo_box (AtkObject *obj) { static gboolean done = FALSE; static gboolean done_selection = FALSE; AtkRole role; role = atk_object_get_role (obj); if (role == ATK_ROLE_FRAME) { AtkRole roles[NUM_VALID_ROLES]; AtkObject *combo_obj; if (done_selection) return; roles[0] = ATK_ROLE_COMBO_BOX; combo_obj = find_object_by_role (obj, roles, NUM_VALID_ROLES); if (combo_obj) { if (!done_selection) { done_selection = TRUE; } if (g_getenv ("TEST_ACCESSIBLE_COMBO_NOEDIT") != NULL) { GtkWidget *combo; GtkEntry *entry; combo = gtk_accessible_get_widget (GTK_ACCESSIBLE (combo_obj)); entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo))); gtk_editable_set_editable (GTK_EDITABLE (entry), FALSE); } _check_children (combo_obj); _test_selection (combo_obj); } return; } if (role != ATK_ROLE_COMBO_BOX) return; g_print ("*** Start ComboBox ***\n"); _check_children (obj); if (!done) { g_idle_add ((GSourceFunc)_open_combo_list, obj); done = TRUE; } else return; g_print ("*** End ComboBox ***\n"); }