HyperTools For HyperProgrammers
By Fred Stauder, HyperCard Editor, Zurich, Switzerland
This month we have a section on new tools that will aid development of your Hypercard Stacks. Also Don Koscheka will bring you another XCMD Corner where he shows how to do callbacks.
Last month I brought you AutoscriptEdit-II which allowed you to lock and unlock fields, to put up the tool windows, and to edit the script of an unlocked field. Some of you may have come across a bug which was a bit of a problem. When you Tabbed from field to field if the mouse was higher than the field the edit script would be invoked. What I have done in version III is to enable the edit script only with the option key. It seems that it is a current limitation of Hypertalk that I cant get around it in a neater way. I will be trying for a fix in Hypertalk to correct this. Another neat thing that I have added to version III is a feature that will allow you to hide Hypercard when you are in MultiFinder. First click in the top left corner of the card, this moves the card window up and left so that only a small section is still showing.
To return the window to the original position click in the small section of hypercard remaining. This should work in most stacks if you have AutoscriptEdit-III in your home stack.
For the occasions where it does not work, if there is a button over it etc., simply go home and then click in the corner. Next month I will bring you a really exciting extension to AutoScriptEdit and possibly in a self-installing button which will give you a toggle in your home stack such as Power Keys.
------------ AutoScriptEdit-III by Fred Stauder June 1988 ------------
-- Put this Script into your Home Stack
-- To use keep mouse btn down over Button or Field and move mouse up
-- To edit Bkgnd Script keep mouse btn down move mouse to -left of card
-- Card Script - move right
-- Stack Script - move up
-- Now works with unlocked fields
-- To lock and unlock fields option click in them
-- To show/hide tools/patterns at cursor
-- hold option click on non-field areas
-- bug fixed tab fields, needs option-move up on unlocked fields
-- click in top left corner to hide card window, botom right to show
if the optionkey is down
if the target contains field then set locktext of target to false
if the optionkey is down then
set the visible of pattern window to not the visible of pattern
set the loc of pattern window to the mouseloc
set the visible of tool window to not the visible of tool window
set the loc of tool window to the mouseloc
if the mouseloc is within 0,0,10,10
put the loc of card window into CWLoc
set loc of card window to -504,-315
if the mouseloc is within 500,333,512,346
set loc of card window to CWLoc
put char 6 of the target into C6
if C6 is quote then AutoScriptEdit
if C6 is i then AutoScriptEdit
if C6 is quote then exit mouseStillDown
if C6 is i then exit mouseStillDown
if the mouseV <item 2 of rect of target then edit script of target
if the mouseH < 2 then edit script of this bkgnd
if the mouseH > 510 then edit script of this card
if the mouseV < 2 then edit script of this stack
if the optionkey is down
if the mouseV <item 2 of rect of target
edit script of target
set locktext of target to false
set locktext of target to true
Non-Comercial use only - All Rights Reserved
Fred Stauder, Hypercard Editor, (HyperChat) MacTutor
HyperTools for the HyperHacker
Softworks Inc. has released two tools to help develop stacks. Hypertools #1 is mainly aimed at stack developers and Hypertools #2 helps with formatting and customizing stacks.
figure 1. HyperTools#1
Each stack contains 16 tools, four tools are common to both; scan tools, font tools, stack stats, and free space.
The presentation of Hypertools is very good and shows how a product can be made from individual smaller subunits.
The interface is very good with a consistent style throughout.
HyperTools incorporates a feature they called scanning. When you click on a scan icon you can move between various cards in your stack by simply moving the mouse left to scan through previous cards; or to the right to scan through following cards. To stop at a card you click the mouse button.
You can perform scanning at two speeds: Normal Speed, when no keys on the keyboard are depressed; or Faster when the Shift Key on the keyboard is depressed. You can also automatically sequence through all of the cards by holding down the Option Key, the Scan tool will then continue sequencing through each card (left or right) until you release the option key.
Whenever you are scanning backwards (moving the mouse left), the cursor will change to an outlined arrow pointing left, a right arrow when going forward (moving the mouse right) and an arrow going in both directions when the mouse is not moved.
A well set out tool is the neat icon editor that integrates the best parts of Hypertalk and XCMDs.
figure 2. Icon Editor Tool
The Icon Editor presents a list of all of the accessible icons in the current stack, Hypercard and the System file. By clicking on an entry in the field list, you can see the actual icon. By selecting the Edit Button, you can modify an existing icon. You can also Clone (make a new copy of) an existing icon, or create a brand new icon. When editing an icon, all of Hypercards drawing features are available. You can even paste in a picture from Hypercard or the scrapbook to create the icon. This will save time going to ResEdit and back.
Radio Button and Checkbox Group tools:
The Radio Button Group Tool lets you create the scripts for radio buttons and checkboxes on a card or background. The scripts for the radio buttons allow you to click on one button of the group and turn off all other buttons of the group automatically. The checkbox tool is similar.
figure 3. Radio Button Tool
The Button Tool gives you a pallet of common Buttons with their scripts. Not very exciting but still useful. What would be good is if you could add your own buttons to this tool.
The Cursor Tool shows all the available cursors, a cursor editor would be interesting.
The Alignment Tool allows you to select multiple cards or background fields and buttons and perform various repositioning actions on them as a group. You can also align and move elements to a grid which you can define.
This is a well thought out tool and is very useful.
figure 4. Alignment Tool
The Edit Script Tool is a button that you push before you click on the button to edit the script.
The Font Tool allows you to select multiple fields and/or Buttons on a card or background and change the font, the size, style, and the text alignment of selected items. You can quickly change the characteristics of all selected items.
figure 5. Font Tool
figure 6. Array Tool
The Array Tool allows you to add automatically rows and columns of fields or buttons at one time. This is a great little tool that saves time when you have to do repetitive creations.
The Stack Watch Tool adds commands to your stack script. This code is executed each time you run the stack. It will notify you whenever the free size of the stack exceeds 100K. Then it asks you if you want to compact.
The Stack Stats Tool quickly summarizes information about the current stack including the number of backgrounds, cards, and buttons and fields on cards and backgrounds. An example is shown below:
figure 7. Stack Stats Tool
The XCMD Tool quickly summarizes all of the accessible XCMD and XFNC that are installed in the current stack and Hypercard.
figure 8. Info Tool
The Info Tools allows you to create various cross reference listings of the current stack. The listings created by these tools are displayed on the screen. You can also choose to print them or export them to a file on disk for use with a word processing program. You can create a list of all message handlers, references to a global variable or search for any string. For these functions, you can choose to search all scripts or choose from any combination of: the stack script, background scripts, background button and background field scripts, card scripts, card button or card field scripts.
If you search scripts for a string, a list detailing the number of occurrences will be displayed on the screen.
You can also create a list of all card buttons, background buttons, card fields or background fields. For these functions you can choose to do the entire stack or a specific card.
The listings created by these tools are displayed on the screen. You can also choose to print them by selecting the Print button on the screen. You can also export a listing you created to a file on disk for use with a word processing program.
The Get Line Number Tool, lets you automatically create code,for a scrolling field on a card or background which returns the line number when the user clicks in it.
The Free Space Tool tells you how many bytes can be compressed from the current stack and allows you to compact the stack automatically.
Tools in HyperTools #2
figure 9. HyperTools #2
figure 10. Choice List Tool
The Choice List tool allows you to assign a list of selectable entry choices to a card or background field. Each stack may have up to 42 different choice categories. Clicking on the Link a Choice List icon will display the current list of all available categories. You can modify, delete or create categories from the window which is displayed. To add a choice list to a card or background field, click on a category from the window.
figure 11. Field Validation Tool
The Field Validation Tool lets you create a script for a card or background field which verifies that the information entered is a valid Hypercard Number or Date. You can also define whether any field on the card or background is required during entry.
figure 12. Display Format Tool
The Display Format Tool allows you to add a script to a card or background field which will reformat the content of a card field whenever it is modified. You can select from the following display formats: number, date or text. This tool first allows you to scan to the card where the tool is to be installed.
figure 13. Visual Effects Tool
The Visual Effects Tool displays a screen with buttons representing the various special effects that can be added to cards of your stack.
figure 14. Group Tool
The Group Tools allow you to select multiple cards or background elements and perform various repositioning, copying and deletion activities on them as a group. This is very similar to the array tool in HyperTools 1.
The Global # Format Tool allows you to specify Hypercards default precision for numbers and mathematical activities. When you click on this icon, a dialog showing the default numeric precision value is displayed.
figure 15. Sound Tool
The Sound Tools allow you to create and modify musical tunes. Sounds available in the current Stack and Hypercard are displayed in a scrollable list. Clicking on an entry from the list will change the current tune settings to use the selected Sound. You can create tunes using the piano keyboard which is displayed on the top of the screen and play them with any Sound and at any tempo you specify. You can also directly modify a tune using the editable field provided.
figure 16. View Font Tool
The ViewFont Tool allows you to view the various Fonts in the current Stack, Hypercard or your System File. You can sequence through all of the fonts one at a time or all at the same time using the Prev Font and Next Font buttons. You can change or modify the text in the scrollable areas to see how it looks in various fonts. To restore the original text just click Restore Text. You can change the font size with the Change Font Size button.
figure 17. Hide & Seek Tool
The Hide & Seek Tools allow you to see fields and buttons on cards and backgrounds even if they are hidden. This tool first allows you to scan to the card where the tool is to be installed.
The Reorder Cards Tool allows you to reorder all or a portion of the cards in the current stack. This tool allows you to scan through various cards and select the order of each card by clicking on the card.
figure 18. Order Info Tool
The Order Info Tool allows you to see a list of all of the card field or card buttons. By selecting the appropriate buttons you can see an ordered list of all of the buttons or fields on the card or background.
The Sort Lines Tool allows you to sort the contents of a scrollable field (or other multi-line field).
HyperTools includes a built-in help function that lets you quickly get information on the different tools. To get help on any tool on this screen, click on the help icon. Then click on any of the icons for the tools shown.
In Summary the HyperTools package is a useful development package for the novice and a time saving device for the more experienced HyperProgrammer.