[jawsscripts] Re: pesky damn combo boxes, revisited

  • From: chad.foster@xxxxxxxxxx
  • To: jawsscripts@xxxxxxxxxxxxx, "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx>
  • Date: Fri, 2 May 2008 07:46:48 -0400

Jackie - Doug's BX tool is JFW scripting, but just very advanced
concepts combined to optimize and consolidate the outer limits of the
JAWS scripting language. He rolls MSAA-based scripting and DOM
scripting into the tool, along with more conventional scripting such
as window structure/navigation and attributes.

Using JSL file extensions, as Doug does here, permits him to compile
these files as source code along with the JSS file that "includes"
them in the header section of the file, thus generating only one
binary file across several files -- precluding the need for several
"use" statements atop the file, and helping with overhead as fewer
binary files are loaded into memory.

Think of a variant as a string that is also a integer, that is also an
object, that can be a handle if need-be. It is useful if you want to
return something when you don't know exactly what that something is --
perfect for interfacing with other, more robust programming languages.


Hope this helps,

Chad


On 5/1/08, Doug Lee <doug.lee@xxxxxxxxxxxxxxxx> wrote:
> Variant is an accepted but undocumented type in JAWS scripting, and I
> use it to get a limited form of what is called polymorphism in
> programming circles.  Basically, it's a way to let a function return
> any of several different types depending on what is appropriate.
>
> On Thu, May 01, 2008 at 05:36:53PM -0700, Jackie McBride wrote:
> Does jaws accept that? I mean, I've seen that in other languages,
> meaning that it could return various types depending on context or
> whatever, but I didn't know jaws permitted it.
>
> On 5/1/08, Roy Nickelson <roylee@xxxxxxxxxxxxxx> wrote:
> > Actually JSL is an extention that Doug made that stands for JAWS script
> > librayry.  Varient is a typ of function like void or int.
> > Roy
> >
> > ----- Original Message -----
> > From: "Jackie McBride" <abletec@xxxxxxxxx>
> > To: <jawsscripts@xxxxxxxxxxxxx>
> > Sent: Thursday, May 01, 2008 8:03 PM
> > Subject: [jawsscripts] Re: pesky damn combo boxes, revisited
> >
> >
> > So, Doug, it would appear that bx toolbox is not all jfw scripting
> > language, is that assumption correct? I was rather trying to look at
> > the sources & see how each key performed the action it did, but so far
> > not a great deal of success. But when I started seeing stuff like
> > variant in front of functions & files w/.jsl extensions which I
> > thought were java script libraries, I began to really question what it
> > was I'm looking at. Obviously there's a jfw scripting aspect to it,
> > but it looks like more is afoot than just that . Interesting. I guess
> > I'll have to delve into this a lot harder. & there are a lot of lines
> > of code here to delve into & I'm thinkin it's gonna get more
> > convoluted b4 it gets sorted out. O, well. Smile. Thanks for the
> > toolbox & the increased length of my nights. U really did do a great
> > job w/this.
> >
> > On 5/1/08, John Robichaud <JRobichaud@xxxxxxxxxxxxxxxx> wrote:
> > > That link for downloading Doug Lee's BX utility appears to be broken. Is
> > > there another working link?
> > > John Robichaud
> > >
> > > -----Original Message-----
> > > From: jawsscripts-bounce@xxxxxxxxxxxxx
> > > [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Jackie McBride
> > > Sent: Wednesday, April 30, 2008 3:23 PM
> > > To: jawsscripts@xxxxxxxxxxxxx
> > > Subject: [jawsscripts] Re: pesky damn combo boxes, revisited
> > >
> > > Chad:
> > >
> > > Ok, been there, done that, & the only message I get is "object not
> found",
> > > no matter what I do.
> > >
> > > So, guess it's time for plan b, huh? Aint that just a barrel of fun!
> > >
> > > On 4/30/08, chad.foster@xxxxxxxxxx <chad.foster@xxxxxxxxxx> wrote:
> > > > Try Doug Lee's BX utility found at:
> > > >
> > > > http://users.visi.com/~dgl/bx/
> > > >
> > > > Once you install it, you want to use MSAA mode by doing the following:
> > > >
> > > > 1. Turn on BX by pressing INSERT+SPACEBAR 2. Switch to MSAA mode by
> > > > pressing apostrophe (') followed by M (M) 3. Place BX on the focused
> > > > object by pressing CTRL+F 4. Arrow up, down, right, and left to
> > > > explore the object hierarchy 5. If you find a relationship of your
> > > > combo box items, then it can be scripted using MSAA 6. If you are
> > > > unable to find your combo box items, then we'll have to think of plan
> > > > B
> > > >
> > > >
> > > > HTH,
> > > >
> > > > Chad
> > > >
> > > >
> > > > On 4/30/08, Jackie McBride <abletec@xxxxxxxxx> wrote:
> > > > > Chad, here seems to be the problem: the parent window of the combo
> > > > > box in question contains not only objects from the combo box being
> > > > > worked with, but others as well, & objects often have identical
> > > > > names. So trying to sort which object belongs to which combo box is
> > > > > gonna be a well, uh, b-word. Maybe I will be able to figure out
> > > > > which objects go w/which boxes, but the problem is that there are 4
> > > > > combo boxes--1 for soft synths, which is actually easy to figure out
> > > > > where they belong, &
> > > > > 3 identical boxes that contain names of effects which can be chained
> > > > > together. These obviously have all identical names, so trying to
> > > > > figure out which names go with which is gonna get interesting, but
> > > > > I'll play w/it some more. Thanks for the suggestion.
> > > > >
> > > > > On 4/30/08, Jackie McBride <abletec@xxxxxxxxx> wrote:
> > > > > > In short, James, no, but it'd sure make my life easier if I could.
> > > > > > Chad, let me look a little closer at what u r saying here. This is
> > > > > > 1 of the most MSAA *unaware* apps I've worked w/in a long, long
> > > > > > time & also poorly written, e.g., combo boxes & radio buttons have
> > > > > > a couple different window classes (e.g., comboLBox & TComboBox)
> > > > > > even within the same program! I really think part of what's
> > > > > > happened here is that they've continued to add features over the
> > > > > > years but never revised the code to bring it into sync w/the new
> > > > > > tools they're using, etc. Having said all that, I'm not altogether
> > > > > > certain I'm intelligent enough to know how to do what u just said
> > > > > > were the app the most well-written in the world, Chad. But I'll
> > > > > > look at it some more & see if maybe I can't muddle thru.  I really
> > > > > > do wish I could find some decent materials & docs regarding
> > > > > > objects, MSAA, UI automation--whatever & all of the above. Any
> > > > > > suggestions from any1 welcome. I have downloaded both the windows
> > > > > > & MSAA sdk, but it seems as though they kind of assume u already
> > > > > > know what you're doing--not a good assumption when it comes to lil
> > > > > > oal
> > > me, that's a certainty.
> > > > > >
> > > > > > Frustrated.
> > > > > >
> > > > > > On 4/30/08, James Dietz <James.Dietz@xxxxxxxxxxx> wrote:
> > > > > > > Can't you just use alt+down to "open" the combo, choose item,
> > > > > > > then alt
> > > > > > > +up to "select" it?
> > > > > > >
> > > > > > > James
> > > > > > > On Apr 29, 2008, at 7:01 PM, Jackie McBride wrote:
> > > > > > >
> > > > > > > > Ok, yall, as I think I explained in a previous post, I've got
> > > > > > > > a
> > > > combo
> > > > > > > > box which, when the arrow keys are pressed, not only give the
> > > > > > > > item focus but select it as well. The problem here is that,
> > > > > > > > when one presses a key, if the synth is not working or
> > > > > > > > whatever, u get a
> > > > dialog
> > > > > > > > box to that effect & then u gotta go back to the combo &
> > > > > > > > select something else. Real pita. So I tried collecting the
> > > > > > > > objects
> > > > contained
> > > > > > > > in the combo box into a list with dlgSelectItemInList. Works
> > > > > > > > fine until the item is selected, e.g., I'm havin trouble
> > > > > > > > matching the
> > > > item
> > > > > > > > selected in the list to the item selected in the combo box. I
> > > > > > > > was playin around w/a whole lot of stuff--SetCurrentItem,
> > > > > > > > (works intermittently but does not select), send message
> > > > > > > > (doesn't seem to work at all though perhaps I'm doing that
> > > > > > > > wrong), click object by
> > > > name
> > > > > > > > (says it works but doesn't), just trying to click it (object
> > > > > > > > can't
> > > > be
> > > > > > > > found).
> > > > > > > >
> > > > > > > > Any1 got any brilliant ideas? Appreciate anything any1 has to
> > > offer.
> > > > > > > > --
> > > > > > > > Jackie McBride
> > > > > > > > Please join my fight against breast cancer
> > > > > > > >
> > > > > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3
> > > > > 489
> > > > > > > > >
> > > > > > > > & Check out my homepage at:
> > > > > > > > www.abletec.serverheaven.net
> > > > > > > > __________
> > > > > > > > View the list's information and change your settings at
> > > > > > > > http://www.freelists.org/list/jawsscripts
> > > > > > > >
> > > > > > >
> > > > > > > __________
> > > > > > > View the list's information and change your settings at
> > > > > > > http://www.freelists.org/list/jawsscripts
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Jackie McBride
> > > > > > Please join my fight against breast cancer
> > > > > > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id
> > > > > > =3489>
> > > > > > & Check out my homepage at:
> > > > > > www.abletec.serverheaven.net
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Jackie McBride
> > > > > Please join my fight against breast cancer
> > > > > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3
> > > > > 489>
> > > > > & Check out my homepage at:
> > > > > www.abletec.serverheaven.net
> > > > > __________
> > > > > View the list's information and change your settings at
> > > > > http://www.freelists.org/list/jawsscripts
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Chad Foster
> > > > Access Technology Solutions
> > > > http://www.GO-ATS.net
> > > > __________
> > > > View the list's information and change your settings at
> > > > http://www.freelists.org/list/jawsscripts
> > > >
> > > >
> > >
> > >
> > > --
> > > Jackie McBride
> > > Please join my fight against breast cancer
> > > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3489>
> > > & Check out my homepage at:
> > > www.abletec.serverheaven.net
> > > __________
> > > View the list's information and change your settings at
> > > http://www.freelists.org/list/jawsscripts
> > >
> > > __________
> > > View the list's information and change your settings at
> > > http://www.freelists.org/list/jawsscripts
> > >
> > >
> >
> >
> > --
> > Jackie McBride
> > Please join my fight against breast cancer
> > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3489>
> > & Check out my homepage at:
> > www.abletec.serverheaven.net
> > __________
> > View the list's information and change your settings at
> > http://www.freelists.org/list/jawsscripts
> >
> > __________
> > View the list's information and change your settings at
> > http://www.freelists.org/list/jawsscripts
> >
> >
>
>
> --
> Jackie McBride
> Please join my fight against breast cancer
> <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3489>
> & Check out my homepage at:
> www.abletec.serverheaven.net
> __________?
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
> --
> Doug Lee, Senior Accessibility Programmer
> SSB BART Group
> mailto:doug.lee@xxxxxxxxxxxxxxxx  http://www.ssbbartgroup.com
> "While they were saying among themselves it cannot be done,
> it was done." --Helen Keller
> __________
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
>


-- 
Chad Foster
Access Technology Solutions
http://www.GO-ATS.net
__________ 
View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: