Skip to content area
Oracle, The World's Largest Enterprise Software Company
  |  WorldwideChange Country, Oracle Worldwide Web SitesSitefinder
Secure Search
PRODUCTS AND SERVICES INDUSTRIES SUPPORT PARTNERS COMMUNITIES ABOUT

This document is for use with Jaws 8.0 and all 8.0 service packs, 
as well as Jaws 9.0 and 10.0.

Use of these scripts are governed by Oracle Terms of Use available at
http://www.oracle.com/html/terms.html

Overview

Script for reading E1 tables

There are essentially two separate scripts in one function that perform the 
table previous and next column reading. 
Each script must first determine whether the user is in a table and if so,
then must store the table ( column and row positions) 
in memory variables.
If no table is detected then an error message is given stating
“Not in a table”.  
 The script then does a get command using the coordinates of the row and
column variables which if equal to zero, will use position one for each, row
and  column respectably. 
Since the reading of the table is in a loop, the script will continue 
to read up or down the column/row until the end of the table is reached. 
Then it will cycle back to the top of the table and/or the bottom of the
table depending on which way the user is going and start over again.  
The control keys for this event are (Windows+N) reading from top to bottom
 and (Windows+Shift+N) for reading from bottom to top.
However, these keys can be defined by the user to fit their own needs.

 
Instructions

The two scripts reside in this text document so copying into the current
version of Internet Explorer will be no problem.
Each script will have a begin copy line and an end copy line. 
Note:  Do not include those lines when cutting and pasting the scripts 
into the IE script.
1. Copy the first script to the clip board, copy from just below the
   “Begin Copy,: to just above the “End Copy” of script one. 
2. Open an Internet session and press “JawsKey+0”.
   This will open the script manager.  
3. Press Ctrl+End to get to the bottom of the script then press Enter twice, 
   to leave some blank lines.  
4. Paste in the first script.  Press Ctrl+S to save the script,
   if you have followed these steps correctly there will be no errors.   
5. After saving is successful, press Ctrl+End, then arrow up until you are 
   in the script.  If you are just below the "Date Written," you are fine. 
6.  Now Press CTRL+D, tab past the script name into the synopsis and type
    a meaningful description of what the script will do.  This is what you
    will hear when getting Jaws keyboard help.  In the next description
    field, you can give more details.  Tab to the "Assign to hotkey," and
    assign a key stroke, (Windows+N).         
7.  Follow the same steps above for the second script.  
    Assign the key stroke to (Windows+Shift+N) and do a final save. 

SCRIPTS

Begin Copy Script one; (do not copy this line).

void function DetectTableWhenNavigating(int iPrevTableIndex, int iPrevTableLevel)
var
	int iCurTableLevel,
	int iCurTableIndex
if InTable() then
	let iCurTableLevel = GetTableNestingLevel()
	let iCurTableIndex = GetTableIndex()
	if iCurTableLevel < iPrevTableLevel then
		; we've moved out of a nested table
		SayUsingVoice(VCTX_MESSAGE,CMSGOutOfTable, OT_POSITION)
	ElIf iCurTableLevel > iPrevTableLevel
	|| (iCurTableIndex && iCurTableIndex != iPrevTableIndex) then
		;we've moved into a table, announce it
		SayUsingVoice(VCTX_MESSAGE, formatString(CMSGInTable,GetTableCaption()), OT_CONTROL_GROUP_NAME)
		SayTableCellCoordinates()
	EndIf
else ;not in a table
	if iPrevTableIndex then
		; we've moved out of a top-level table
		SayUsingVoice(VCTX_MESSAGE,CMSGOutOfTable, OT_POSITION)
	EndIf
endIf
EndFunction


Script ReadSameColumnNextTable ()
; Written by Don Mauck
; Date Written 04/09/2008
; Copyright (c) 2008 by Oracle USA

Var
int iPrevTableLevel,
	int iPrevTableIndex,
  String sListOfTables,
  String sDelimiter,
  Int iTableIndex,
Int iTableColumn,
Int iTableRow,
int iTableIndexMin, 
int iTableIndexMax 
if InTable() then
	let iPrevTableLevel = GetTableNestingLevel()
	let iPrevTableIndex = GetTableIndex()
elif (FALSE == InTable ()) then
		SayFormattedMessage (OT_error, cMSGNotInTable_L, cMSGNotInTable_S) ; Not in a table
		Return
	EndIf

let sDelimiter = "|"
GetCellCoordinates(iTableColumn, iTableRow)
let sListOfTables = GetListOfTables(sDelimiter)
    if StringContains (SListOfTables, "QBE") then


let iTableIndexMin = 2
else
let iTableIndexMin = 1
endif
let iTableIndexMax = StringSegmentCount(sListOfTables, sDelimiter) - 1
let iTableIndex = GetTableIndex() 

if iTableIndex >= iTableIndexMax then

while iTableIndex > iTableIndexMin
     MoveToTable(S_PRIOR)
let iTableIndex = iTableIndex - 1
endwhile
	SayFormattedMessage(OT_STATUS,cmsgWrappingToTop_L,cmsgWrappingToTop_S)
beep()

else

  MoveToTable(S_NEXT)
endif
MoveToTableCell(iTableColumn, iTableRow)
SayCell ()
EndScript
    
End Copy Script One; (do not copy this line).

Begin Copy Script Two; (Do not copy this line).

Script ReadSameColumnPreviousTable ()	
; Written by Don Mauck
; Date Written 04/09/2008
; Copyright (c) 2008 by Oracle USA
Var
int iPrevTableLevel,
	int iPrevTableIndex,
  String sListOfTables,
  String sDelimiter,
  Int iTableIndex,
Int iTableColumn,
Int iTableRow,
int iTableIndexMax,
int iTableIndexMin  


if InTable() then
	let iPrevTableLevel = GetTableNestingLevel()
	let iPrevTableIndex = GetTableIndex()
elif (FALSE == InTable ()) then
		SayFormattedMessage (OT_error, cMSGNotInTable_L, cMSGNotInTable_S) ; Not in a table
		Return
	EndIf




let sDelimiter = "|"
GetCellCoordinates(iTableColumn, iTableRow)
let sListOfTables = GetListOfTables(sDelimiter)
    if StringContains (SListOfTables, "QBE") then


let iTableIndexMin = 2
else
let iTableIndexMin = 1
endif

let iTableIndexMax = StringSegmentCount(sListOfTables, sDelimiter) - 1
let iTableIndex = GetTableIndex() 

if iTableIndex <= iTableIndexMin then

while iTableIndex < iTableIndexMax
     MoveToTable(S_NEXT)
let iTableIndex = iTableIndex + 1
endwhile
	sayFormattedMessage(OT_STATUS,cmsgWrappingToBottom_L,cmsgWrappingToBottom_S)
	beep()

else
  MoveToTable(S_PRIOR)
endif
MoveToTableCell(iTableColumn, iTableRow)
SayCell ()
 

EndScript





End Copy Script Two; (do not copy this line).

email this page E-mail this page printer view Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Subscribe | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Your Privacy Rights