Ke,
 
Thank you very much for the followup.  That solves the mystery for me.
 
-Sam
 
________________________________

From: [email protected] [mailto:[email protected]] 
Sent: Thursday, September 17, 2009 7:58 PM
To: Quiring, Sam
Cc: [email protected]
Subject: Re: [g-a-devel] events in ATK and AT-SPI


Hi,

It is the ATK bridge that calls your add_global_event_listeners() in its
init routine.
All the items in your second list are printed out by your
add_global_event_listeners() which, in turn, is called
in the ATK bridge's init routine.

You can take a look at ATK bridge's source code.
The related code is in bridge.c .
spi_atk_register_event_listeners() calls your
add_global_event_listeners().

Regards,

Ke

On 09/17/09 22:57, Quiring, Sam wrote: 

        I think I figured this out.  The at-spi-registryd examines each
of the event types for which an accessible app using AT-SPI registers a
global event listener.  If the event type begins with one of these
strings:
         
        focus:
        mouse:
        object:
        document:
        window:
        keyboard:
         
        then the registryd program itself takes care of handling events
and notifying the global event listener.  If the event type does not
begin with one of these strings, then the registryd assumes it is an
event recognized by a toolkit and calls (through bonobo) each
application's toolkit, which will call ATK's
AtkUtilClass.add_global_event_listener() so the ATK implementation can
register the listener, if the event is applicable.
         
        This description is not totally complete.  As I mentioned below,
my implementation of AtkUtilClass.add_global_event_listener() received
requests to register listeners for some event types that begin with
"window:".  If my explanation above were totally correct/complete, then
these should have been intercepted by the registryd.
         
        -Sam

________________________________

        From: [email protected]
[mailto:[email protected]] On Behalf Of
Quiring, Sam
        Sent: Monday, September 14, 2009 8:07 AM
        To: [email protected]
        Subject: [g-a-devel] events in ATK and AT-SPI
        
        
        Greetings,
         
        I have connected up my ATK implementation of
add_global_event_listener() to the AtkUtilClass.  My routine prints out
the name of the event for each listener that is added into a log file.
         
        My AT-SPI client adds these listeners:
         
          SPI_registerGlobalEventListener(focusListener, "focus:");
          SPI_registerGlobalEventListener(mouseAbsListener,
"mouse:abs");
          SPI_registerGlobalEventListener(mouseButtonListener,
"mouse:button");
          SPI_registerGlobalEventListener(buttonPressListener,
"Gtk:GtkWidget:button-press-event");
          SPI_registerGlobalEventListener(selectionChangedListener,
"object:selection-changed");
          SPI_registerGlobalEventListener(defunctListener,
"object:state-changed:defunct");
         
        When I look at the log created by my ATK routine, the only
listener I see get added from the list above is for
Gtk:GtkWidget:button-press-event.   Does anyone know what happens to the
other SPI-registerGlobalEventListener requests?
         
        -Sam
         
         
        For the record, here is the complete list of events for which my
add_global_event_listener() is called, in order:
         
        Gtk:AtkObject:property-change
        window:create
        window:destroy
        window:minimize
        window:maximize
        window:restore
        window:activate
        window:deactivate
        Gtk:AtkDocument:load-complete
        Gtk:AtkDocument:reload
        Gtk:AtkDocument:load-stopped
        Gtk:AtkObject:state-change
        Gtk:AtkObject:children-changed
        Gtk:AtkObject:visible-data-changed
        Gtk:AtkObject:active-descendant-changed
        Gtk:AtkComponent:bounds-changed
        Gtk:AtkSelection:selection-changed
        Gtk:AtkText:text-selection-changed
        Gtk:AtkText:text-changed
        Gtk:AtkText:text-caret-moved
        Gtk:AtkText:text-attributes-changed
        Gtk:AtkTable:row-inserted
        Gtk:AtkTable:row-reordered
        Gtk:AtkTable:row-deleted
        Gtk:AtkTable:column-inserted
        Gtk:AtkTable:column-reordered
        Gtk:AtkTable:column-deleted
        Gtk:AtkTable:model-changed
        Gtk:AtkHypertext:link-selected
        Gtk:GtkWidget:button-press-event
        
        
________________________________


        _______________________________________________
        Gnome-accessibility-devel mailing list
        [email protected]
        http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
          


_______________________________________________
Gnome-accessibility-devel mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel

Reply via email to