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 361167 - Add dynamic row and column header support in Orca for StarOffice/OpenOffice calc.
Add dynamic row and column header support in Orca for StarOffice/OpenOffice c...
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.17.x
Other All
: Normal enhancement
: ---
Assigned To: Rich Burridge
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-10-10 15:15 UTC by Rich Burridge
Modified: 2006-10-14 15:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Patch to implement the enhancement. (10.85 KB, patch)
2006-10-10 20:55 UTC, Rich Burridge
none Details | Review
Adjustment to the way the dynamic rows/columns are spoken/brailled. (11.88 KB, patch)
2006-10-11 17:04 UTC, Rich Burridge
none Details | Review
Further adjustments based on Will's feedback (8.29 KB, patch)
2006-10-12 16:10 UTC, Rich Burridge
none Details | Review
Yet more tweaking of this feature. (4.67 KB, patch)
2006-10-13 20:31 UTC, Rich Burridge
none Details | Review
Patch to allow row 0 and column 0 to be headers (4.85 KB, patch)
2006-10-14 15:23 UTC, Willie Walker
committed Details | Review

Description Rich Burridge 2006-10-10 15:15:56 UTC
The Orca user requirements have the following:

"The user should be able to dinamically set a row or column 
as a header in openoffice calc.  The hot keys for defining 
this will be insert+r for row and insert+c for column.  

In order to set a row or column the user should first set 
focus to the row or column that they wish to define and then 
press the appropriate hot key.  

Once the user has defined a row or column it will be used 
to first speak this header when moving between rows or columns.  
This will behave similar to the way orca reads headers in the 
evolution mail list when moving focus from column to column.  
For example, if row c is defined as headers the appropriate 
cell will first be read before reading the cell with focus 
when the column is changed."
Comment 1 Rich Burridge 2006-10-10 20:55:59 UTC
Created attachment 74442 [details] [review]
Patch to implement the enhancement.

I've implemented two things beyond what is specified in the Orca
User Requirements document:

1/ A "double-click" of Insert-r or Insert-c with clear the dynamic
   row or column.
2/ This new functionality is available as both braille and speech.
Comment 2 Rich Burridge 2006-10-10 20:58:46 UTC
Changes checked into CVS HEAD. Bug closed as FIXED. If there
is any tweaking required, please let me know.
Comment 3 Rich Burridge 2006-10-11 17:04:00 UTC
Created attachment 74497 [details] [review]
Adjustment to the way the dynamic rows/columns are spoken/brailled.

The StarOffice.py scripts now subclasses
_getBrailleRegionsForTableCellRow and _getSpeechForTableCellRow,
so that we can braille/speak the dynamic headers (if present)
only once per row, per the rules of how headers should be read.
Comment 4 Rich Burridge 2006-10-11 17:07:10 UTC
Changes checked into CVS HEAD.

Will, if you'd like me to use the equivalent of self.getText()
in the SpeechGenerator and BrailleGenerator classes in 
StarOffice.py, please give me a clue on how to do this.
Comment 5 Willie Walker 2006-10-12 14:32:21 UTC
Hi Rich:  Last night, I refactored the braille and speech generators to take the script as an argument.  This allows the generator to delegate to the script for stuff like getText.  All checked in (and working, I hope!).
Comment 6 Rich Burridge 2006-10-12 16:10:39 UTC
Created attachment 74577 [details] [review]
Further adjustments based on Will's feedback

> The dynamic column header is only announced if you change
  columns (similar for rows).
> Implementation confused what was row headers and what was
  column headers. They have now been reversed.
Comment 7 Rich Burridge 2006-10-12 16:13:01 UTC
New changes checked into CVS.
Still closed as FIXED. ;-)
Comment 8 Rich Burridge 2006-10-13 20:31:26 UTC
Created attachment 74654 [details] [review]
Yet more tweaking of this feature.

More slight adjustments based on feedback from Will (thanks):

* Reversed Insert-r and Insert-c hot-keys and improved the wording
  of the "help" for learn mode for these two hot-keys.

* Adjusted a couple of names to make the code more understandable.

* Adjusted a couple of comments to make the code more understandable.
Comment 9 Rich Burridge 2006-10-13 20:32:59 UTC
New changes checked into CVS HEAD.
Comment 10 Willie Walker 2006-10-14 15:23:04 UTC
Created attachment 74685 [details] [review]
Patch to allow row 0 and column 0 to be headers

There was a small bug in the implementation - if row 0 or column 0 were specified to be used as headers, they would not be used.  The problem is the result of needing to detect whether something has been specified as a header or not, and a non-None check was being used.  I think this was the result of using the double-click to "clear" a table entry by setting the entry value to None.  Since a check for None and 0 have the same result, 0-based row/col headers would not work.  This patch uses "del" on the table entry for double-click, removing it completely from the table.  This allows the check to be simplified to whether or not the table entry exists or not.