[g-a-devel] need help implementing a widget in atk
- From: Mike Gorse <mgorse mgorse dhs org>
- To: gnome-accessibility-devel gnome org
- Subject: [g-a-devel] need help implementing a widget in atk
- Date: Tue, 28 Oct 2008 21:00:04 -0500 (CDT)
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-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]