Re: [g-a-devel] need help implementing a widget in atk



I would wind up having to create/destroy atk objects anyway since the size of the tables would usually change, as would the UIA providers that are exposed. It is also possible to disable groups, and there is another view which acts like a listbox.

Anyway, I'm realizing that the Details view is not really like a TreeView (as far as we can tell, groups cannot be collapsed, either by the keyboard or through a public API, although UIA has a provider that is supposed to provide that functionality). So implementing regular tables makes sense.

On Wed, 29 Oct 2008, David Bolter wrote:

Hi Mike,

For both views I think I would prefer them exposed as a list of 2
ATK_ROLE_TABLE controls and the group names might simply be
accessible-table-caption properties (unless they are user-actionable).
This way you might actually get away with not having to destroy/create
any atk objects when the view is changed.

I'm not familiar with MWF ListView at all, so I might have missed some
obvious gotchas.

cheers,
David

Mike Gorse wrote:
Hi all,

I am trying to map the MWF ListView control to atk (via UI
automation). I don't believe there is a gtk control equivalent to it,
and I want our code to work well with Orca for instance, so I wanted
to ask if anyone wanted to give input as to what I should do to map
it.  It has several "views," so a program can dynamically change the
appearance by changing the View property.  So it is effectively
equivalent to having several types of widgets to consider.

The Details view is a lot like a GtkTreeView.  I put a screen shot (at
Will's request) at http://mgorse.freeshell.org/listviewdetail.png.  It
has a table of books with three columns (title, author, and copyright
date). The books are divided into "groups" based on the first letter
of the title, so there are three groups ("C", "M" and "P").  I'm
thinking that there should be a control with a role of
ATK_ROLE_TREE_TABLE with the data represented as table cells, but then
I'm not sure how to represent the group names.  Should they just be
given rows in the table with the name as the first column and other
columns on the row being blank?  Also, based on some testing that I've
done, gail returns -1 when get_row_at_index is called for an object
that is not at the root level of the tree view.  Is this expected
behavior that we should emulate (in which case all of the actual data
would have a row of -1 if groups are used)?

There are other views that display list items in grids
(http://mgorse.freeshell.org/listviewlargeicon.png), each "group"
having a separate grid.  UIA exposes a List control which can contain
multiple Group controls, each of which contain ListItem controls.  The
Gropu controls implement an interface similar to AtkTable.  It would
probably be simplest for me to implement a hierarchy such as the
following in atk, since there would be a one-to-one correspondance
between UIA and ATK objects:

ATK_ROLE_LIST
  ATK_ROLE_TABLE
    ATK_ROLE_TABLE_CELL
    ...
  ATK_ROLE_TABLE
    ATK_ROLE_TABLE_CELL
    ...
  ...

Let me know if any of you think that something else makes more sense.
Role names are easy to change.

Thanks,
-Mike G-
_______________________________________________
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]