[gui-talk] Fwd: WE4Java 0.9.17 for Window-Eyes almost ready for release

Steve Pattison srp at internode.on.net
Mon Mar 30 11:05:43 UTC 2009


From:	Macarty, Jay {PBSG}
To:	gw-scripting at gwmicro.com

All,
 
I am finishing up some documentation but wanted to let you know that WE4Java 0.9.17 should be ready to go in the next day or so. This release contains some major updates both structurally and functionally including the following:
 
·         Almost all java controls now support some form of the FieldData, FieldName and SpeakSummary hotkeys.
·         Indexing of radio buttons, such as 1 of 3 or 2 of 3, is now spoken correctly. Also, The radio button group name is spoken and is accessible from the fieldname hotkey as well.
·         Shortcut keys for buttons and check boxes are now spoken along with menu items. Other component shortcut keys will be added later.
·         When navigating a table, pressing the hotkey for RouteMouseToFocused will now cause the mouse to move to the currently selected table row. 
 
The most significant change in this release, from a coding perspective, is that the logic for handling the majority of the WE4Java functionality, in terms of what to speak and when, is now controlled by the WE4Java.vbs hosted script rather than being hidden inside the java code. The java code still monitors events and extracts relative information but it now communicates that information back to the hosted script via a series of callback like functions such as OnJavaFocusChange, OnJavaStateChange, OnJavaSelectionChange, OnJavaFieldData, OnJavaFieldName, etc. Each of these callback functions takes a single parameter which is a VBScript class called ObjectInfo. The ObjectInfo class currently has 47 read-only properties and 2 methods. Documenting the ObjectInfo class is the documentation I was referring to getting finished. There will be an HTML file describing the properties and methods. 
 
When the WE4Java hosted script receives a call on a method such as OnJavaFocusChange, it uses the properties of the ObjectInfo such as accessibleName and AccessibleDescription, and RoleName  to build the string to be spoken. Some properties of the ObjectInfo class are fairly specific to a given type of object such as the row and column data for a table and the message title and message text of a popup message dialog. However, since VBScript doesn’t support a form of inheritance to facilitate creating specialized subclasses, the ObjectInfo class contains all relevant properties and methods. 
 
The WE4Java java code communicates the data to be used in the ObjectInfo class by creating a java object to contain all the data. This object is then serialized into XML using a built-in java utility. When the ObjectInfo VBScript class is created, the XML string from the java process is passed to it and loaded into a DOM. All ObjectInfo Property get calls and Function calls simply reference this DOM object. This allows communication in a format that both java and VBScript can understand and aids in debugging because the XML string can be written to the java log file to show exactly what was sent. Since the java utility only creates XML elements for the attributes which actually contain data, the amount of information sent across any one given call is almost always less than the full 47 properties. The performance on both the java end and VBScript end of the transaction is very fast. 
 
As I said, I will finish up the documentation and complete some testing of the new functionality on Vista but the package should be ready in the next day or so.

Regards Steve
Email:  srp at internode.on.net
MSN Messenger:  internetuser383 at hotmail.com
Skype:  steve1963





More information about the GUI-Talk mailing list