oh p.s. you have turned on ToolTip reading in the jcf file under the verbosity dialog, under each of the 3 possible settings of advanced, intermediate and beginner I presume? for some reason known only to fs, they disable this by default, whereas windoweyes, at least in the old days, used to leave it on. or is it a custom toolTip type event that doesn't trigger the standard ToolTip event? ----- Original Message ----- From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx> To: <jawsscripts@xxxxxxxxxxxxx> Sent: Thursday, December 04, 2008 9:58 PM Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > Hi Don. > > well, I myself have never used either the activeItemChangedEvent or the > windowCreatedEvent, so unfortunately can't give actual specifics about your > sitch. > > couple things that occur to me to comment upon though, > were, that I wasn't quite > clear after reading that message, which certainly explained comprehensively > about the application itself and some of the details of why you wanna use > it, > exactly what was the major problem you were striking with this current code? > > other than you said you keep having to turn on PC cursor again after hitting > down arrow? > Again, very novice and probably useless things to point out, and my ability > to follow logic carefully through each component of a script is at present > minimal, > but, I was wondering, > have you put in multiple sayStrings all over the place, within and outside > these if and elif conditions, to debug/confirm exactly what bits of the code > are actually getting run, and what are not, in the various situations? > This is how I've found it helpful to debug stuff, after advice from people > up here. > like if the jaws cursor seems to you to be remaining active when you don't > feel it should be, working out where to maybe place another PcCursor > command, might be arrived at through the usage of SayStrings to debug? > > now, as for CustomHighlight assign, it can only really help if you know the > items you wanna read, actually do change color/become focused or highlighted > in some way, > as you arrow through them with pcCursor, which of course they may not, if > they're simply readable stuff for the sightlings. > And, if you think the highlight color isn't a standard windowsy one. > > one thing to also remember is, that even if they do change color to a custom > highlight color as you move through them, they might well change to a > totally different color, when the jawsCursor/mouse hovers over them. Thus, > using the invisible Cursor, to check their colors, > rather than the jawsCursor, is in my view, the recommended option there. > Use of course insert+Top Row number 5 to check textColors of stuff. > if after doing that, you are convinced there is a concept of items in this > list view actually becoming highlighted, and also changing their color to > reflect this, then you can put the invisible cursor on that item and choose > the custom highlight assign command, insert+control+h. > > it should ask you foreground and background, to which you'd answer yes. > and then it should show the new color in a dialog etc, with an radio button > option to have both windows standard and custom colors read, which is what > you want, so just leave that and hit enter. > This color will then get added in the app.jcf file, under a new section > it'll put in there probably called something like [CustomHighlights] > or some such thing. > it'll have an =1, at the end of it, but for experimentation purposes, to in > effect disable it but not remove it, which is all that the front end > customhighlight box permits, you can change this 1 to a 0 and resave the jcf > file. then flip it back to 1 again as needs be, if you wanna just quickly > check stuff is working or whatever, without having to rego through deleting > and reassigning the whole custom highlight color etc. > > i used this very effectively in ITunes before they introduced MSAA into it, > and it brought the whole thing to life. menu bars too. no scripting needed! > > > ----- Original Message ----- > From: "Donald Marang" <donald.marang@xxxxxxxxx> > To: <jawsscripts@xxxxxxxxxxxxx> > Sent: Thursday, December 04, 2008 7:07 PM > Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > > > > Actually, I am certainly a novice at scripting.I had written minor scripts > > for many years, but nothing like this. It is a great learning experience! > > I have never used many features in JAWS, like Custom Highlight Assign. As > > far as I could tell, it did not seem to handle this situation. > > > > The unruly application is Verizon Call Assistant. It is a totally free > > software and web service for Verizon customers who still have a home, land > > line phone. It is most usefull if you have Caller ID and Voice Mail on > that > > line. This is exciting to me since I have all of these! I realize that > > most people have moved on and replaced these relics with newer more > flexible > > technology, like VoIP! Once you create an account at > > verizon.com/callassistant and you link it to your phone number and voice > > mail service, you get many new capabilities. You can view your call log, > > listen and save voice mails, receive emails for selecctive calls and > email, > > and maintain a contact list. If you download the PC software, you can > have > > all this available all the time and get apop up, "Toast" notification with > > the Caller ID info for calls and voice mails! It pops up down near the > > clock area like a large HelpBalloon. It even beats the phonne ringing by > at > > least a second. I also like to know if someone is trying to call and left > a > > voice mail while my son is on the phone with his girlfriend. I can see > who > > is trying to get through and even listen to the voice mail. Verizon > > promises to bring many new features in the near future including advanced > > selective forwarding. > > > > The results show up in a nonstandard dialog below the small main window > with > > three buttons and a search edit box. The results dialog is primarily a > > nonstandard list view, surounded by a title and controls to go to the next > > and previous pages. The list shows up to 10 items at a time. All of the > > options and settings are managed omn the wevsite. The only set up on the > PC > > is the login, which can be set to be done automatically when the computer > > starts up. > > > > The list only has two columns, even though most of the time there is at > > least three things associated with that item that are inportant! The > phone > > of the incoming call is not shown in the call log. To get this > information, > > you must hover the mouse over the item. A two line "ToolTip" appears with > > name and number. New calls are shown in bold. I also currently say "item > > > x" before each item to let me know the ActiveItemChangedEvent occoured. > > When the "ToolTip appears, I say the phone number and capture these items > in > > global variables for later use. Below is my ActiveItemChanged function > and > > part of my WindowActivatedEventt. > > > > My WindowActivatedEvent function first checks if the window class = > "#32770" > > (used by the results dialog, the "HelpBalloon" Toast dialogs and various) > > "ToolTip" windows). Then I check the Control ID of the first child to > > identify which action should be taken. The Control ID of this window is > > 282. > > > > > > Void Function ActiveItemChangedEvent (handle hWnd, int iCurrentID, Int > > iCurrentChild, handle hWndPrevious, Int iPreviousID, Int iPreviousChild) > > > > If hWnd == ghWndListView Then > > SayString ("Item " + IntToString (iCurrentChild)) > > If GetCharacterAttributes () & ATTRIB_BOLD Then SayString ("new ") EndIf > > ; SayString ("Selection state = " + IntToString (lvGetItemState (hWnd, > > iCurrentChild) )) > > > > JAWSCursor () > > RouteJAWSToPc () > > LeftMouseButton () > > PCCursor () > > Else > > SayString ("Call to item changed and not in list view! Item = " + > > IntToString (iCurrentChild)) > > EndIf > > > > ActiveItemChangedEvent (hWnd, iCurrentID, iCurrentChild, hWndPrevious, > > iPreviousID, iPreviousChild) > > > > EndFunction > > > > > > Void Function WindowActivatedEvent (handle hWnd) > > Var > > Handle hWndFirstChild, > > Int iFirstID, > > Handle hWndLastChild, > > Int iLastID, > > String sTip > > > > Let hWndFirstChild = GetFirstChild (hWnd) > > Let iFirstID = GetControlID (hWndFirstChild) > > > > Let hWndLastChild = GetLastWindow (hWndFirstChild) > > Let iLastID = GetControlID (hWndLastChild) > > If GetWindowClass (hWnd) == WND_POPUP_CLASS Then > > If ...; handle other windows > > ELIf iFirstID == WCID_LIST_NAME Then > > ; SayString ("Name and phone pop up") > > Let gsListName = GetWindowName (hWndFirstChild) > > ; SayString ("Caller was: " + gsListName) > > > > If IsWindowVisible (hWndLastChild) Then > > Let gsListNumber = GetWindowName (hWndLastChild) > > SayString ("number: " + gsListNumber) > > Else > > ;The ToolTip in the Search rersulrts list view only displays the name > > Let gsListNumber = Null () > > EndIf > > ElIf iFirstID == WCID_VIEW_CONTACT_NAME Then > > ... process other dialogs > > EndIf > > > > EndIf > > > > WindowActivatedEvent (hWnd) > > > > EndFunction > > > > > > Don Marang > > > > > > ----- Original Message ----- > > From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx> > > To: <jawsscripts@xxxxxxxxxxxxx> > > Sent: Wednesday, December 03, 2008 9:44 AM > > Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > > > > > > > p.s. > > > like wen you say, switching whole scripts through > activeItemChangedEvent, > > > that sounds to me like > > > a pretty sledge hammer approach to be trying as a solution? > > > again, from a total novice perspective? > > > You presumably know all about custom highlight colors and things of that > > > nature too, right? the simple stuff? > > > > > > > > > ----- Original Message ----- > > > From: "Donald Marang" <donald.marang@xxxxxxxxx> > > > To: <jawsscripts@xxxxxxxxxxxxx> > > > Sent: Wednesday, December 03, 2008 3:03 PM > > > Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > > > > > > > > >> Thanks, this seemed to help some. It has not fixed all my problems, > vut > > > it > > >> is vetter. I will save this for future reference as well. It is a > > >> little > > >> hard to debug with so many events.Today I tried to remove the need for > > >> frames and switch scripts that get called from my own > > >> WindowActivatedEvent > > >> function. If I get this working properly, I want to put part of this > > > script > > >> in a similar function in the default script file, so I will get > notified > > > by > > >> itscustom "HelpBaloon". > > >> > > >> Right now, I have to press the KeyPad + to force the PCCursor back on > > > after > > >> each time I use the down arrow in a custom list view I am trying to > tame. > > >> If I don't, it seems to have the JAWSCursor active, and does not get > > > events > > >> from ActiveItemChangedEvent. There must be something funky I am doing > > >> within my ActiveItemChanggedEvent. I had no idea that my application > > >> woulduse MSAA at all, buut I followed a previous suggestion on this > list > > > and > > >> it worked! I have not investigated how to use MSAA any further at this > > >> point. > > >> > > >> Bless the list for its help. > > >> > > >> Don Marang > > >> > > >> > > >> ----- Original Message ----- > > >> From: "James Panes" <jimpanes@xxxxxxxxx> > > >> To: <jawsscripts@xxxxxxxxxxxxx> > > >> Sent: Tuesday, December 02, 2008 5:59 PM > > >> Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > > >> > > >> > > >> > Yes, the cursors do save on a stack. Another very important thing to > > >> > remember is that JAWS does not save the position of the PC Cursor > when > > > it > > >> > is > > >> > saved. There are valid scripting reasons why this is the case. > > >> > > > >> > To save and restore the PC cursor, I do the following: > > >> > InvisibleCursor () > > >> > SaveCursor () ; This saves the original position of the invisible > > >> > cursor > > >> > Move InvisibleToPC () > > >> > SaveCursor () ; This uses the invisible cursor to save the > position > > > of > > >> > the PC cursor. > > >> > > > >> > Code that changes positions here > > >> > > > >> > RestoreCursor () ; This moves the invisible cursor to the original > > >> > position of the PC Cursor. > > >> > RoutePCToInvisible () ; Places PC cursor back at its original > position. > > >> > RestoreCursor () ; Places Invisible cursor back to its original > > >> > position. > > >> > PCCursor () ; Activates PC cursor. > > >> > > > >> > This places the PC cursor and the invisible cursor back to where they > > > were > > >> > and activates the PC cursor. The other thing is to make sure that the > > >> > PC > > >> > cursor is active before going to all this trouble. > > >> > > > >> > Some scripters do not bother to save and restore the invisible > cursor. > > >> > > > >> > Regards, > > >> > James > > >> > jimpanes@xxxxxxxxx > > >> > jimpanes@xxxxxxxxxxxx > > >> > "Everything is easy when you know how." > > >> > > > >> > ----- Original Message ----- > > >> > From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx> > > >> > To: <jawsscripts@xxxxxxxxxxxxx> > > >> > Sent: Tuesday, December 02, 2008 4:39 PM > > >> > Subject: [jawsscripts] Re: Changing and Saving / Restoring Cursors > > >> > > > >> > > > >> > My standard idiom is saveCursor() invisibleCursor() saveCursor(): > The > > >> > first saveCursor keeps track of which cursor was active to begin > with, > > >> > and the second saves the position of the invisible cursor before I > > >> > move it. > > >> > > > >> > On Tue, Dec 02, 2008 at 04:32:27PM -0500, Donald Marang wrote: > > >> > In the examples I have seen for using the SaveCursor and > RestoreCursor > > >> > functions, they use the following order: > > >> > InvisibleCursor () > > >> > SaveCursor () > > >> > perform statements that move the focus... > > >> > RestoreCursor () > > >> > > > >> > If the save and restore functions work like a stack, wouldn't the > > >> > SaveCursor > > >> > function need to be called first, and then change cursors? I am a > > > little > > >> > confused here. I am finding my application being continually with > the > > >> > InvisibleCursor active, and I am not sure why! > > >> > > > >> > Don Marang > > >> > > > >> > > > >> > __________? > > >> > Visit and contribute to The JAWS Script Repository > > > http://jawsscripts.com > > >> > > > >> > View the list's information and change your settings at > > >> > http://www.freelists.org/list/jawsscripts > > >> > > > >> > -- > > >> > Doug Lee, Senior Accessibility Programmer > > >> > SSB BART Group - Accessibility-on-Demand > > >> > mailto:doug.lee@xxxxxxxxxxxxxxxx http://www.ssbbartgroup.com > > >> > "While they were saying among themselves it cannot be done, > > >> > it was done." --Helen Keller > > >> > __________ > > >> > Visit and contribute to The JAWS Script Repository > > > http://jawsscripts.com > > >> > > > >> > View the list's information and change your settings at > > >> > http://www.freelists.org/list/jawsscripts > > >> > > > >> > __________ > > >> > Visit and contribute to The JAWS Script Repository > > > http://jawsscripts.com > > >> > > > >> > View the list's information and change your settings at > > >> > http://www.freelists.org/list/jawsscripts > > >> > > > >> > > >> __________ > > >> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com > > >> > > >> View the list's information and change your settings at > > >> http://www.freelists.org/list/jawsscripts > > >> > > > > > > __________ > > > Visit and contribute to The JAWS Script Repository > http://jawsscripts.com > > > > > > View the list's information and change your settings at > > > http://www.freelists.org/list/jawsscripts > > > > > > > __________ > > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > > > View the list's information and change your settings at > > http://www.freelists.org/list/jawsscripts > > > > __________ > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > > __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at http://www.freelists.org/list/jawsscripts