[g-a-devel] Accessibility Event architecture



Greetings,
 
Is there a document somewhere that describes the architecture of the AT-SPI event model?  In particular, the responsibilities of a toolkit for relaying events from the GUI into the AT-SPI/ATK system.  I'd really like to read a detailed end-to-end description of how an event is handled:
 
1. AT-SPI client registers event handlers [name of routines that need to be called]
2.a registryd fields some of these handler registrations
2.b registryd pass on some of the [toolkit] registrations
3. ATK receives event handler registration requests [where is this handled in GAIL?]
 
4. user clicks the left-mouse-button (left-button down, then up)
5. how is the click intercepted by AT-SPI system (in registryd?)
6. mouse click is delivered to AT-SPI client: where is the call on the client's handler?
7. suppose the click causes a window to come into focus or a selection to change
8. who intercepts the focus event?  If GAIL, what source (gail_widget_real_focus_gtk?).
9. how the signal is transmitted to the AT-SPI client and where is the call on the client's handler?
 
I tried to figure this out, using the Gtk:GtkWidget:button-press-event as an example.  It's easy to see the AT-SPI client register a handler for this event.  Which components of the AT-SPI/ATK system look at the pieces of this event name and what do they do with the pieces?  (I've seen what happens in registryd).  When an event is delivered by the Gtk GUI system, how is it mapped into this event?  I have searched the GAIL source for "button-press-event", but I don't see anything close.  I do see that gailbutton.c registers a callback for the "pressed" event.  Is that the button-press-event?  If yes, where does the tranlation from "pressed" to "button-press-event" happen?
 
-Sam



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]