Συγκεντρώνοντας πληροφορίες προσιτότητας από μια εφαρμογή

Ένα πρόγραμμα το οποίο θέλει να χρησιμοποιήσει τις κλήσεις ATK θα πρέπει κατά προτίμηση να κάνει ένα (ή περισσότερα) από τα παρακάτω:

  1. Να δημιουργήσει ένα event watcher, για παράδειγμα με την συνάρτηση atk_add_focus_tracker() :

    atk_add_focus_tracker (_my_focus_tracker);

    όπου η _my_focus_tracker() είναι μια συνάρτηση με αυτόν τον τύπο:

    void _my_focus_tracker (AtkObject *aobject);
  2. Να καθορίσει έναν καθολικό event listener, με atk_add_global_event_listener():

    mouse_watcher_focus_id =   atk_add_global_event_listener(_my_global_listener,"Gtk:GtkWidget:enter_notify_event");
    

    όπου η συνάρτηση _my_global_listener έχει τον τύπο της Glib GSignalEmissionHook. Αυτό το παράδειγμα θα έκανε τη συνάρτηση _my_global_listener() να καλείται κάθε φορά που συμβαίνει ένα σήμα enter_notify_even σε ένα GtkWidget αντικείμενο.

  3. Αποκτήστε πρόσβαση στο αντικείμενο ανώτερου επιπέδου τύπου ATK με τη χρήση της ακόλουθης συνάρτησης.

    AtkObject *root_obj = atk_get_root();

    Με αυτόν τον τρόπο επιστρέφεται ένα AtkObject το οποίο περιέχει όλα τα παράθυρα ανώτερου επιπέδου στο τρέχον πρόγραμμα που εκτελείται. Ο χρήστης μπορεί τότε να πλοηγηθεί μέσω της ιεραρχίας αντικειμένων έχοντας πρόσβαση στους θυγατρικούς καταλόγους των αντικειμένων του ριζικού καταλόγου, το οποίο αντιστοιχεί σε παράθυρα ανώτερου επιπέδου.