Bug 489941 - Implement Atk.Table implementor
Summary: Implement Atk.Table implementor
Status: RESOLVED FIXED
Alias: None
Product: UI Automation
Classification: Mono
Component: Moonlight - ATK (show other bugs)
Version: Unspecified
Hardware: Other Other
: P4 - Low : Enhancement
Target Milestone: Release 2.0
Assignee: Andres Aragoneses
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on: 546909
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-27 22:18 UTC by Brad Taylor
Modified: 2009-11-11 03:20 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Changed to multi-level (4.29 KB, text/plain)
2009-08-27 23:55 UTC, Andres Aragoneses
Details
new version (2.34 KB, patch)
2009-09-21 19:19 UTC, Andres Aragoneses
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brad Taylor 2009-03-27 22:18:27 UTC
Create an implementor that implements all Atk.Table methods, properties and
events generically so that it can be used by all controls. 

It should be able to recognize and proxy:
  - ITableProvider
  - IGridProvider

Also, provide a unit test for the new functionality.
Comment 1 Andres Aragoneses 2009-06-04 14:47:40 UTC
Oops, reverting dependency.
Comment 2 Andres Aragoneses 2009-07-29 17:50:56 UTC
According to mgorse, TableImplementorHelper may be useless, so I guess I'll need more time to figure out this...
Comment 3 Andres Aragoneses 2009-08-21 22:03:54 UTC
Worked a bit on this.
Comment 4 Andres Aragoneses 2009-08-26 16:09:14 UTC
The implementation will likely change slightly from the WinForms one (multi-level children hierarchy)... Doing a bit of research right now with orca, which BTW stumbles upon new bug 534100.
Comment 5 Andres Aragoneses 2009-08-27 23:55:34 UTC
Created attachment 315659 [details]
Changed to multi-level

This patch contains also the patch for bug 534100.

It makes trees appear as having multi-level children.
Comment 6 Andres Aragoneses 2009-09-21 19:19:17 UTC
Created attachment 319135 [details]
new version

Now that I committed the fix for bug 534100, I'm uploading the new version of this patch, which BTW contains a fix for an infinite loop.
Comment 7 Andres Aragoneses 2009-09-23 03:26:20 UTC
Still working on this. It seems we'll need to modify orca. But WWalker has given me some requirements to fulfill before proposing a patch on it.
Comment 8 Andres Aragoneses 2009-10-08 21:12:20 UTC
After a lot of hours investigating the issue, I think I found the culprit, which is not in our code but in orca. When running the winforms treeview with the multi-level approach the focus signals are not wrong, but:

- Orca says the name of a cell which is not focused, but not through it's Name, but through Atk.Text interface.
- In default.py (orca source code), the function locusOfFocusChanged has a different behaviour depending on if the treeview is multi-level or not. The exact difference is that the object newLocusOfFocus is indeed the correct one that got new focus, but the function that constructs the information to pass to the speech somehow screws up:

            utterances = self.speechGenerator.generateSpeech(
                newLocusOfFocus,
                priorObj=oldLocusOfFocus)

There, the var utterances becomes an array of information about the object newLocusOfFocus, however utterances contains an erroneus name, different than the one that newLocusOfFocus has. This is clearly a bug in orca that should be fixed.
Comment 9 Andres Aragoneses 2009-10-14 13:53:09 UTC
I'm working on porting the Atk.Table and Atk.Relation code from the Winforms bridge to the Moon bridge, but on the way I've found bugs on the winforms which I'm trying to fix first.
Comment 10 Andres Aragoneses 2009-10-14 17:37:09 UTC
Bug related to this, but maybe not dependant: bug 546970.
Comment 11 Andres Aragoneses 2009-10-28 20:12:10 UTC
Taking more time because of weird problems (maybe a bug in moon? GetAccessibleHandle() is called *before* rootvisual is set).
Comment 12 Andres Aragoneses 2009-11-06 15:40:33 UTC
Hours.
Comment 13 Andres Aragoneses 2009-11-11 03:20:02 UTC
Orca will have to be fixed, but it doesn't block basic table impl.
Comment 14 Andres Aragoneses 2009-11-11 03:20:43 UTC
Mainly done in http://reviews.mono-a11y.org/r/488/. Total 32h in this iteration (got 2 days off).