Outlook Express 5-6 scripts

  • From: Cher Bosch <Cher.Bosch@xxxxxxxxxxx>
  • To: mdyer1@xxxxxxxxxx
  • To: jfw@xxxxxxxxxxxxx
  • Date: Wed, 11 Aug 2004 08:06:21 -0500

Debbie- I'm afraid I'm not following you.  I re-verified my JAWS version
and I don't see any difference between the .jss file you are directing
me to alter and the one I copied below.  It even looks like there is
already a ; in front of the line I think you are talking about (which I
indicated with an *).  I'm sorry to be so dense, but I'm not following
you.
 
 
 
Cher
 
;Script files for Outlook Express Version 5-6
 
;Copyright 2004 by Freedom Scientific BLV Group, LLC
 
; Written By Freedom Scientific Scripting Team Gold 
 
; Version 5.1.xx
 
; build 500784
 
; Last updated on January 12, 2004 by Olga Espinola
 
include "hjconst.jsh"
 
include "hjglobal.jsh"
 
include "msoe.jsm"
 
include "msoe.jsh"
 
include "HjHelp.jsh"
 
include "common.jsm"
 
globals
 
int WindowClosed,
 
int ClipboardTextChanged,
 
int nSuppressEcho,
 
string g_strGraphicsList,
 
string g_strGraphicsListX,
 
string g_strGraphicsListY,
 
int iSuppressCheckForBold,
 
int iScheduledFunctionId,
 
int iSuppressReadMessage
 
int function IsUnReadMessage ()
 
If ! IsMessagesList (GetFocus ()) then
 
Return FALSE;
 
EndIf
 
If GetCharacterAttributes () & ATTRIB_BOLD then
 
Return TRUE
 
Else
 
Return FALSE
 
EndIf
 
EndFunction
 
Int Function BrailleAddObjectUnRedStatus (int nSubTypeCode)
 
If ! (IsMessagesList (GetFocus ())) then
 
Return FALSE
 
EndIf
 
If IsUnReadMessage () then
 
BrailleAddString (msgBrlUnread,0,0,0)
 
Return TRUE
 
EndIf
 
Return FALSE
 
EndFunction
 
int function HandleCustomWindows (handle hwnd)
 
var
 
int iControl,
 
string sSpellWord,
 
string RealWindowName,
 
string sListText,
 
string sState
 
If InHjDialog () then
 
SayWindowTypeAndText (hWnd)
 
Return TRUE
 
EndIf
 
If GlobalMenuMode then
 
SayObjectTypeAndText ()
 
Return TRUE
 
EndIf
 
If hWnd == GetFocus () then
 
If GetWindowSubtypeCode (hWnd) == WT_TOOLBAR then
 
SayLine ()
 
Return TRUE
 
EndIf
 
EndIf
 
;To speak the Unread status of a message properly
 
If IsMessagesList (hWnd) then
 
;Say (GetWindowName (hWnd), OT_CONTROL_NAME)
 
;Say (GetWindowType (hWnd), OT_CONTROL_TYPE)
 
If GetCharacterAttributes () & ATTRIB_BOLD then
 
*;SayFormattedMessage (OT_SCREEN_MESSAGE, msg_UnreadMessage_L,
msg_UnreadMessage_S)
 
Let sListText = msg_UnreadMessage_S
 
EndIf
 
;Say (GetObjectValue (), OT_NO_DISABLE)
 
Let sListText = sListText+cScSpace + GetObjectValue ()
 
IndicateControlType (WT_LISTVIEW, GetWindowName (hWnd),
smmMarkupString(sListText,smmGetSpeechMarkupTextOptions(OT_LINE)))
 
Say (PositionInGroup (), OT_POSITION);X of Y
 
Return TRUE
 
EndIf
 
let iControl = GetControlID (hwnd)
 
; Bail when alt tabbing from a link
 
if IsWindowVisible (FindTopLevelWindow(wcAltTabClass,scNull)) then
 
return FALSE
 
endif
 
if GetWindowName (GetRealWindow (GetParent (GetFocus ()))) + sc_1 ==
wn_help + sc_1 then
 
SwitchToConfiguration (msgFN4)
 
return
 
endif
 
if DialogActive () then
 
let RealWindowName = GetWindowName(GetRealWindow(hWnd))
 
if RealWindowName == wnCheckSpelling then
 
If GetWindowSubTypeCode (hWnd) == WT_LISTBOX then
 
SayWindowTypeAndText (hWnd)
 
Let sSpellWord = GetWindowText (hWnd, READ_HIGHLIGHTED)
 
If sSpellWord then
 
SpellString (sSpellWord)
 
EndIf
 
Return TRUE
 
EndIf
 
if GetWindowSubTypeCode (hWnd) == WT_EDIT 
 
|| GetWindowSubTypeCode (hWnd) == WT_ReadOnlyEdit then
 
if iControl == NotInDictionary_field 
 
|| iControl == changeTo_field 
 
|| iControl == ChangeTo_Field2 then
 
If ! iReadMisspelledAndSuggestion then
 
Let iReadMisspelledAndSuggestion = TRUE
 
PerformScript ReadMisspelledAndSuggestion()
 
return true
 
EndIf
 
endIf
 
; let SayFocusedWindow handle it.
 
endif
 
ElIf RealWindowName == wnFindMessage then
 
if iControl==id_ReceivedAfter
 
|| iControl==id_ReceivedBefore then
 
SayMessage(ot_control_name,GetObjectName())
 
; This is a complex control, of class SysDateTimePick32
 
SayMessage(ot_control_type,scDateTimePickerControl)
 
SayWindowTypeAndText(hWnd)
 
; attempt to determine and announce the check status:
 
let sState = cscNull ;ensure null in case state cannot be determined
 
SaveCursor()
 
RouteInvisibleToPC()
 
if FindGraphic(hWnd,scCorner,s_top,s_restricted) then
 
let sState = cmsg294_L ;"not checked"
 
ElIf FindGraphic(hWnd,scCheckMark,s_top,s_restricted) then
 
let sState = cMSG293_L ;"checked"
 
EndIf
 
RestoreCursor()
 
SayMessage(ot_item_state,sState)
 
return true
 
EndIf
 
endif
 
endif
 
if GetWindowClass (hwnd) == wc_ListView
 
&& not IsWindowObscured (hwnd)
 
&& iControl == attachments_list then
 
SaveCursor ()
 
RouteInvisibleToPC ()
 
InvisibleCursor ()
 
RoutePCToInvisible ()
 
RestoreCursor ()
 
endif; This is meant to set focus when tabbing to an attachments list
in an open message
 
if ! GetObjectSubTypeCode () then
 
if GetWindowClass (hWnd) == wc_message_body then
 
;Make read-only messages act like web pages and not say edit.
 
If ! IsVirtualPcCursor () then
 
;Just in case the user is running with the VPC option off:
 
If CaretVisible () then
 
;SayMessage (OT_CONTROL_TYPE, VMsgEdit1_L)
 
IndicateControlType (WT_MULTILINE_EDIT)
 
EndIf
 
EndIf
 
return TRUE
 
endif
 
endif
 
Return false
 
EndFunction
 
int function HandleCustomRealWindows (handle hwnd)
 
var
 
string sRealName
 
let sRealName = GetWindowName (GetRealWindow (hwnd))
 
if DialogActive () then
 
If sRealName==wnCheckSpelling then
 
SayWindowTypeAndText(GetRealWindow(hWnd))
 
If GetWindowSubtypeCode(GetFocus())!=wt_button then
 
Let iReadMisspelledAndSuggestion=true
 
PerformScript ReadMisspelledAndSuggestion ()
 
Return true
 
EndIf
 
Return true
 
EndIf
 
EndIf
 
Return false
 
EndFunction
 
Void Function TopEdgeEvent (handle WindowHandle)
 
var
 
int iWinType
 
Let iWinType = GetWindowSubTypeCode (WindowHandle)
 
If BrailleFHPTopEdge () then
 
Return
 
EndIf
 
If DialogActive () then
 
Return;Avoid thumbnails, etc.
 
EndIf
 
If iWinType == WT_MULTISELECT_LISTBOX ||
 
iWinType == WT_EXTENDEDSELECT_LISTBOX ||
 
iWinType == WT_LISTBOX||
 
iWinType == WT_LISTVIEW ||
 
iWinType == WT_BUTTONLISTBOX then
 
SayFormattedMessage (ot_jaws_message, cmsg44_L, cmsg44_S) ;"Top of
window"
 
Return
 
endIf
 
EndFunction
 
Void Function BottomEdgeEvent (handle WinHandle)
 
var
 
int iWinType
 
Let iWinType = GetWindowSubTypeCode (WinHandle)
 
If BrailleFhpBottomEdge () then
 
Return
 
EndIf
 
If DialogActive () then
 
Return;Avoid thumbnails, etc.
 
EndIf
 
If iWinType == WT_MULTISELECT_LISTBOX ||
 
iWinType == WT_EXTENDEDSELECT_LISTBOX ||
 
iWinType == WT_LISTBOX||
 
iWinType == WT_LISTVIEW ||
 
iWinType == WT_BUTTONLISTBOX then
 
SayFormattedMessage (ot_jaws_message, cmsg45_L, cmsg45_S) ;"Bottom of
Window"
 
Return
 
endIf
 
EndFunction
 
void function SayNonHighlightedText (handle hwnd, string buffer)
 
var
 
int iWinType,
 
int iFocusWinType,
 
int iControl,
 
string strStatusBarText,
 
string TheClass
 

let TheClass = GetWindowClass (hwnd)
 
let iControl = GetControlID (hwnd)
 
;Handle alt tabbing here
 
if GetWindowClass (hWnd) == wcAltTabClass then
 
Say (Buffer, OT_BUFFER)
 
return
 
endif
 
if ! DialogActive () && ! GlobalMenuMode then
 
let iWinType = GetWindowSubTypeCode (hWnd)
 
if iWinType == WT_STATUSBAR then
 
let iFocusWinType = GetWindowSubTypeCode (GetFocus ())
 
if iFocusWinType == WT_TREEVIEW then
 
if StringContains (buffer, scComma) then
 
let strStatusBarText = buffer
 
let strStatusBarText = (StringSegment (buffer, scComma, 2))
 
if (StringToInt (StringChopLeft (strStatusBarText, 1))) > 0 then
 
Say (strStatusBarText, OT_BUFFER)
 
endif
 
endif
 
endif
 
endif
 
endif
 
if DialogActive () then
 
if GetWindowName (GetRealWindow (hWnd)) == wnCheckSpelling then
 
If GetWindowSubTypeCode (hWnd) == WT_ReadOnlyEdit
 
&& GetWindowSubTypeCode (GetFocus ()) != WT_LISTBOX then
 
if iControl == NotInDictionary_field 
 
|| iControl == changeTo_field
 
|| iControl == ChangeTo_Field2 then
 
; Avoid double speaking of lines in spell checker
 
If iReadMisspelledAndSuggestion Then
 
Let iReadMisspelledAndSuggestion = FALSE
 
Return
 
EndIf
 
Let iReadMisspelledAndSuggestion=true
 
PerformScript ReadMisspelledAndSuggestion ()
 
return
 
endif
 
endif
 
If iReadMisspelledAndSuggestion then
 
Let iReadMisspelledAndSuggestion=false
 
return
 
EndIf
 
endIf
 
endIf
 
SayNonHighlightedText (hwnd, buffer)
 
EndFunction
 
Void Function SayFocusedWindow ()
 
Var
 
Handle hWnd,
 
Int iControl
 

Let hWnd=GetFocus()
 
Let iControl=GetControlId(hWnd)
 
;Only handle the special composition windows here.
 
; spellchecker handling when real whindow has changed.
 
; this can occur when entering spellchecker,
 
; when message about having finished spellchecking selected text gains
focus,
 
; or when message about the spellchecker being completed gains focus. 
 
If globalPrevReal!=GetRealWindow(hWnd)
 
&& GetWindowName(GetRealWindow(hWnd))==wnCheckSpelling
 
&& iControl==ChangeTo_field then
 
Return
 
ElIf GetWindowName(GetRealWindow(hWnd))==wnCheckSpelling then
 
; focus is on a button.
 
If iControl!=ChangeTo_field 
 
|| iControl!=NotInDictionary_field
 
|| iControl!=ChangeTo_field2 
 
|| iControl!=OKButton then 
 
SayObjectTypeAndText()
 
return
 
EndIf
 
return
 
Else
 
SayObjectTypeAndText ()
 
EndIf
 
EndFunction
 
Int Function IsMessagesList (handle hwnd)
 
if (GetWindowClass (hWnd) == wc_List) then
 
if (GetWindowClass (GetParent (hwnd)) == wc_messagesList_parent5) then
 
return true;
 
endif
 
endif
 
return false;
 
EndFunction
 
void Function AutoFinishEvent ()
 
TurnSuppressCheckForBoldOff ()
 
EndFunction
 
Void Function TurnSuppressCheckforBoldOff ()
 
let iScheduledFunctionId = 0
 
let iSuppressCheckForBold = false
 
EndFunction
 
void function SayHighlightedText (handle hwnd, string buffer, int
nAttributes)
 
var
 
int iControl,
 
int iCount,
 
string sClass,
 


--
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to 
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the 
way the list is being run, do not post them to the list. Rather contact the 
list owner at jfw-admins@xxxxxxxxxxxxxx
--
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to 
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the 
way the list is being run, do not post them to the list. Rather contact the 
list owner at jfw-admins@xxxxxxxxxxxxxx

Other related posts: