Re: GailTreeView Changes Proposal



Hi Brian,

> One problem with this idea is that the various renderers may need to
> store private data in order to properly map the cell back to the
> appropriate cell in the backing store.  Therefore the cell gets cluttered
> with information that is really private to the backing store.  In my
> previous email Bill & I suggested creating an intermediate object that
> keeps backing store specific information hidden from the cell.  Since
> Renderers can be used by multiple widgets that all might have to keep
> different private data around, keeping this information in the cell
> might get ugly.
> 
> Perhaps I'm not reading your suggestion correctly?

Is the plan to keep instances of the accessible object which is related to
each cell around in memory?  We specifically decided to NOT do this in the
Java realm because the number of cells (for example in a large tree or
table) could be huge.  This is a lot of why cell renderers are used in these
UI widgets in the first place.  That's why in the Java Accessibility API we
have the Accessible State 'TRANSIENT', to indicate that the accessible is
not linked to it's UI widget anymore (and so attaching signal handlers will
not gain anything).  It's also why we have AccessibleActiveDescendent events
- so that one can listen for changes happening in descendents of a widget in
those cases in which one couldn't listen on the widget accessible otherwise.

Then you don't associated an accessible with a renderer; you associate it
with the cell, and build it dynamically based on information you get from
the renderer.  It then gets thrown away when the AT no longer is needing to
get information about it.


Regards,

Peter Korn
Sun Accessibility team




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