|Column Tag:||Kelly's Corner
ScriptEdit and WindowTalk
By Dave Kelly, MacTutor Editorial Board
HAPPY BIRTHDAY MACTUTOR
This issue begins another year of MacTutor! A hearty thanks to all of MacTutors advertisers and readers.
You have probably noticed that my column has taken a different twist over the past few issues. Im looking through a pile of software to make your development efforts easier and Ill try to keep you informed of some of these as time and space permits. The products that I mention here are not necessarily endorsed by MacTutor or myself (although some of them are on my best software list), and is not necessarily the only product of its kind, but each one has caught my attention for some reason or another.
ScriptEdit is an ingenious way to make HyperCard script programming easier. Before I tell you about it, Id like to tell you a few reasons why I dont like HyperCards built-in editor. Im sure that everyone that has ever done HyperCard script writing has some or all of the same complaints (maybe even other complaints too). Some things could have been better to begin with, but we all know that Apple always saves room in the commercial market for improvements. HyperCards editor consists of a large dialog with a text edit field in which you can type and edit text that comprises HyperTalk scripts. First complaint: the edit menu is not allowed from within the editor. This isnt too bad since the keyboard equivalents for Cut, Copy, and Paste commands still work. Secondly, only one script may be open at a time. This is awkward when working with a complex stack. Thirdly, the find function is limited. You must position the insertion point to the beginning and then select cmd-F. There is no replace function for replacing text. If you dont mind all of that, you probably are doing just fine with HyperCards built-in editor.
The ScriptEdit consists of three different parts: The ScriptEdit desk accessory; an XCMD that provides HyperCard-to-ScriptEdit communications; and two special HyperTalk scripts that link the desk accessory and XCMD together and correctly activate ScriptEdit when it is selected from the Apple menu. In addition, there is a set of sample scripts provided for starting up ScriptEdit in a variety of ways. My favorite is to use the pre-defined script which uses one of the function keys on the extended keyboard to open the ScriptEdit DA. These scripts and XCMD are installed by clicking a button in the ScriptEdit install stack. Of course the DA must be installed in the system (or via Suitcase II or Master Juggler). Once the ScriptEdit scripts are installed in the home stack, ScriptEdit may be invoked by sending messages to HyperCard by typing in the message window or implementing a script.
ScriptEdit background button Home
ScriptEdit card TheXCMD
ScriptEdit cd btn Test, cd btn About
ScriptEdit Name1, Name2
The ScriptEdit object window opens and displays the objects available in the stack. You can use HyperCards menus or the object windows navigation commands (left/right arrows) to navigate through different stacks while using ScriptEdit. For convenience, the object window has filter buttons to select what types of objects to display.
Just about every feature in ScriptEdit is an improvement over the built-in editor. Here is a summary of the features:
Now you can have more than one script window open at one time. The number of script windows is only limited by available memory. This enables you to edit scripts side by side.
Each window can retain its own font and size information (one font and size per window).
Find and Replace includes searches which wrap around to continue searching at the beginning of the script when it reaches the end. Find/Replace can be done on all open windows or on all scripts in the stack.
The ScriptEdit XCMD provides a direct interface with HyperCard so that script commands may be used to customize the editing environment.
Any standard text file can be opened with the ScriptEdit DA. This makes it easy to import a script from somewhere else to include in your stack.
Each script window contains pop up menus with standard HyperCard messages, controls, commands, functions, properties, and constant that can be selected to be automatically inserted into your script. This can be a time saver for someone who is not fully familiar with all of the HyperCard statements. The info bar can be hidden if desired to display more of the script to edit.
I ran into only one problem in using ScriptEdit and this problem is only a problem for users of 32-bit Color Quickdraw. The problem is that ScriptEdits hierarchical menus dont work when 32-bit QD is installed. A quick call to Somak Software was answered by a helpful voice which told me that the problem is fixed with system version 6.0.4. If you dont have 6.0.4 then I suggest that you dont use 32-bit Color QD when using ScriptEdit.
I fully recommend ScriptEdit to anyone who is sick of the HyperCard built-in script editor. There was only one thing that I disliked about it; when ScriptEdit is active, you cant use the paint tools or otherwise change a card or background. This is only a minor annoyance and wont keep anyone from producing better scripts.
ScriptEdit is available from:
Somak Software, Inc.
535 Encinitas Blvd., Suite 113
Encinitas, CA. 92024
includes HyperCard version 1.2.2 and Font DA Mover 3.8.
NOT COPY PROTECTED!!
While were talking about HyperCard enhancements, Id like to mention one more which adds 26 XCMDs and XFCNs that lets you build windows and windoids. WindowTalk when used with HyperCard scripts provide access to control modeless, inter- or intra stack windows created in ResEdit.
For a limited time, WindowTalk is available as a shareware product which includes documentation and sample windows and windoids. If you like WindowTalk and want to use it, you pay $39 (plus $5 for postage and handling) and they send you a special installer stack that can inject the necessary resource and the tutorial window into your own Home stack or into another stack. The shareware version requires you to replace your Home stack (by changing its name) and using a new home stack in which WindowTalk has been installed. The shareware stack is set up so that there is just enough bother in using it that the installer stack is needed, thus insuring that the shareware fee is paid.
Third Wave Computing, Inc.
4412 Spicewood Springs Road, Suite F-1000
Austin, TX. 78759
NOT COPY PROTECTED!!