After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 476639 - Remove requirement of annotating accessible objects
Remove requirement of annotating accessible objects
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Eitan Isaacson
Orca Maintainers
Depends on: 489028
Blocks: 448848
 
 
Reported: 2007-09-13 17:43 UTC by Eitan Isaacson
Modified: 2007-10-30 17:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed changes (241 bytes, patch)
2007-09-13 17:46 UTC, Eitan Isaacson
none Details | Review
Proposed changes (12.73 KB, patch)
2007-09-13 18:06 UTC, Eitan Isaacson
none Details | Review
Proposed changes (12.63 KB, patch)
2007-09-13 20:49 UTC, Eitan Isaacson
committed Details | Review
Further fixes (1.35 KB, patch)
2007-10-11 02:19 UTC, Eitan Isaacson
accepted-commit_now Details | Review

Description Eitan Isaacson 2007-09-13 17:43:29 UTC
Today Orca annotates accessible objects to preserve states across several modules.
For example, the default script writes to "lastColumn" and "lastRow" attributes to allow generators to determine if the should read an entire table row or just the given cell. This is problematic for several reasons:
1. It depends on a specific accessible caching policy.
2. It requires accessible objects to be writable, so this won't work well with CORBA stub objects, just with wrapper objects.
Comment 1 Eitan Isaacson 2007-09-13 17:46:53 UTC
Created attachment 95532 [details] [review]
Proposed changes

This patch adds a dictionary to Script instances called pointOfReference. The dictionary is used for storing contextual info, like lastRow or lastCursorPosition. It is reset in locusOfFocusChanged().
Comment 2 Willie Walker 2007-09-13 17:50:55 UTC
(In reply to comment #1)
> Created an attachment (id=95532) [edit]
> Proposed changes
> 
> This patch adds a dictionary to Script instances called pointOfReference. The
> dictionary is used for storing contextual info, like lastRow or
> lastCursorPosition. It is reset in locusOfFocusChanged().
> 

Very strange looking patch.  :-)
Comment 3 Eitan Isaacson 2007-09-13 18:06:28 UTC
Created attachment 95534 [details] [review]
Proposed changes

Removed a print, and fixed an exception when the new LOF is None.
Comment 4 Eitan Isaacson 2007-09-13 20:49:49 UTC
Created attachment 95550 [details] [review]
Proposed changes

Changes from Rich's input.
Comment 5 Rich Burridge 2007-09-26 15:22:29 UTC
I've just checked in a macaroon test that should help check to see if this
is working for OOo Calc dynamic row and column headers.

% cd .../orca/test/harness
% mkdir -p stupid/directory
% cd stupid/directory/
% ../../runone.sh ../../../keystrokes/oocalc/bug_361167.py oocalc 0
Comment 6 Eitan Isaacson 2007-09-27 20:28:54 UTC
Ok,

I comimtted the patch to trunk. Fingers crossed.
Comment 7 Eitan Isaacson 2007-10-11 02:00:01 UTC
I just found an additional attribute that is annotated: "activeDescendantInfo".
A patch is on it's way...
Comment 8 Eitan Isaacson 2007-10-11 02:19:08 UTC
Created attachment 97040 [details] [review]
Further fixes

I have tested this. I'll be committing it.
Comment 9 Eitan Isaacson 2007-10-11 02:19:46 UTC
I am reopening this unit we make sure acessible object annotation is dead for sure.
Comment 10 Eitan Isaacson 2007-10-17 17:40:08 UTC
Ok, So Gecko.py has the following annotations:
obj.unicodeText
obj.childrenIndices
obj.characterOffsetInParent
Comment 11 Eitan Isaacson 2007-10-19 01:26:53 UTC
Another annotation in default.py(onValueChanged):
obj.oldValue
Comment 12 Willie Walker 2007-10-30 16:47:08 UTC
Can this be closed now (i.e., have we caught/handled all the annotations we used to have)?
Comment 13 Eitan Isaacson 2007-10-30 17:20:23 UTC
I think it's safe to close for now.