Re: [g-a-devel]Re: gnopernicus question: why only report selection on combox.



On Wed, 2003-09-10 at 13:01, remus draica wrote:
> 
> Hi Bill,
> 
> > However, gnopernicus should handle the general case of selection-changed
> > events for different ROLES, not just one or more specific ROLE, since
> 
> Same comment can be made for focus: too and this is the case implemented in 
> gnopernicus, so telling which event should be rejected and which not is just 
> an implementation detail, 

My point is that, at the moment, gnopernicus is ignoring all
selection-changed events EXCEPT those for comboboxes, which is the
problem.  As you say, it doesn't matter which events are 'rejected' as
long as gnopernicus is aware of both types of events and presents the
user with either focus: or selection-changed then either, or both,
occur.  

I agree that the simplest and probably most general (and therefore,
probably the best) solution is to check both 'focus:' and
'selection-changed' events and suppress presentation if they refer to
the same object.  Thus:

if ((selection_changed_source == currently_focussed) ||
    (focus_source == most_recently_selected)) {
    break; /* ignore this event */
}	

This means of course that gnopernicus would need to cache the
most-recently-selected item and also the currently-focussed item.  Also
gnopernicus would need to update currently-focussed when focus: occurs
even if the focus: event is not presented to the user, and update
most-recently-selected even if the selection_change event is not
presented to the user.

- Bill


at least till now. Probably the best solution is to 
> check if both events are for same object and report only one of them as 
> focus.
> 
> > the at-spi roles are designed to allow new roles to be registered by
> > applications.
> >
> 
> 
> Regards,
> Remus
> 
> _______________________________________________
> Gnome-accessibility-devel mailing list
> Gnome-accessibility-devel gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel





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