pfterry@kuhub.cc.ukans.edu (03/13/90)
I picked this up from CI$. It describes the bug fixes and improvements to SuperCard 1.5. They still haven't announced a definite shipping date, but it sounds as though it'll be RSN. Maybe by MacWorld. This started out as a Word formatted file, so it may have lost something in the translation to text. Fred Terry Kansas Geological Survey Univ. of Kansas ********************************************************************* SuperCard 1.5 from Silicon Beach Software, Inc. A Detailed Description of the New Features of SuperCard 1.5 SuperCard 1.5 represents many, many hours of work by the engineers, managers, creative service folks and testers at Silicon Beach Software. With the help of the Killer Beta Testers and the thousands of users who called or wrote in their suggestions and comments, we have taken SuperCard one giant step closer to everybodyUs vision for the product. We have added numerous new and powerful features to the SuperCard and SuperEdit applications, as well as a totally re-written version of the Runtime Editor. The product will also ship with an extensive User Manual Addendum and a new Language Guide. We think that the extensions we have made will greatly enhance your SuperCard projects and provoke many new ideas. SuperCard 1.5 will ship early in the second quarter. The suggested retail price for SuperCard 1.5 will rise to $299, although the upgrade will be mailed free of charge to all registered owners of SuperCard 1.0. If you havenUt done so already, we suggest that you mail your registration card in. This document is a definitive list of all the noteworthy changes, additions and fixes that went into SuperCard 1.5. It has been uploaded to all of the major electronic information services. Thanks for your continued interest and support! Conceived and Programmed by Bill Appleton with Gary Poppitz Assisted by Christopher Watson SuperCard Product Team: Stuart Henigson, Strategic Marketing Manager Kevin La Rue, Product Manager Gary Poppitz, Principal Architect, Multimedia Applications Christopher Watson, Software Engineer Addendum Written by Andrew Himes with Editing and Graphics by Stuart Henigson, Michael OULear and Kevin La Rue Addendum Layout by Virginia Cordova-West and Michael OULear Samples and Contributions from Chris Athanas, Eric Azarcon, Jerry Burns, John Gaffney, Kevin La Rue, Kevin Ostrom, Maurice Rizzuto, John Petit, Gary Poppitz, Chris van Hamersveld, Christopher Watson, Dean Wette, and George Wood. Many Thanks to John Gaffney, Jon Wright and all the SuperCard fans around the world! Online Product Announcement Document Prepared by Christopher Watson THE BIG NEW THINGS 1) Speed. SuperCard is quicker on its feet now! The interpreter has been optimized and improved (message overloading is smarter [which speeds up the determination of whether a message needs to travel the entire hierarchy or go directly to the system], some instances of redundant scanning have been removed, the tokenization of scripts is now quicker, and expressions are evaluated faster); scrolling field response time has been shortened; data packing/unpacking algorithms have been sped up for quicker card-to-card navigation; binary data types are used where possible to speed up calculations. 2) Memory. SuperCard now juggles memory better. Initialization code is no longer memory-resident (it has been isolated into its own segment and is dumped from memory when initialization is complete); the existing code has been reduced and made more efficient; the application is now much smarter in determining how much memory is needed to perform a particular task, reducing the frequency of "out of memory" conditions. 3) Bridger. A small decoy application called "Bridger" is now loaded and then dumped from memory whenever the "Run" command is executed from SuperEdit, which aids in the ability to switch between the two applications without getting memory errors. 4) ScriptTracer. A new script tracing environment (debugger) with many powerful features has been added to SuperCard, including (but not limited to): stepping through one script line at a time while examining variable contents; jumping back and forth through message levels; stepping over or directly into called handlers; viewing the source of all messages; setting of conditional breakpoints (by evaluation, whenever a variable is written to or read from, or whenever an XCMD makes a callback); examination of the data structures associated with a currently executing XCMD; evaluation and alteration of variable or container contents while a script is executing; jumping to TMON. 5) Brand SpankinU New Language Guide and Addendum. The SuperTalk Language Guide has been totally redone. This new Language Guide includes all the new 1.5 language additions as well as many corrections. An extensive User Manual Addendum is also included with the product. 6) Access To Resource Fork of Projects. The ability to open and make available Apple resources within the resource fork of a project; including new options in the "Convert Stack" and "Build Standalone" commands that allow for selective placement of the "non-blessed" resources into either the SharedFile or new project resource fork. 7) Real List Fields. New field style for support of real lists (scrolling or not) including: support of all standard selection algorithms and their combinations; setting and getting an item list of all currently selected cells; new single and double-click system messages; conversion from one style to another while retaining all properties; modified "scroll" property that references cell numbers instead of a pixel value. 8) Hierarchical Menus. Augmentations to existing commands for the runtime creation of hierarchical menus. 9) Pop-up Menus. Support for real pop-up menus at any location on a card, including a new "autoWidth" button property to enable the automatic resizing of the button width based on the name. 10) Color Text. Color can now be applied in SuperEdit to text in graphics or fields, for the entire object or for a certain range of characters. An additional field property (non-query) provides for runtime editing of text color (see below). 11) Runtime Menu Editing. Ability to insert or remove items within any menu at runtime. New items are given a default name of "Untitled", which can then be renamed using the menu itemUs "name" property. 12) On-line Help System. A new on-line help system has been implemented, providing quick access to a number of information sources provided with the product, including an on-line Language Guide and extensive general info and help. 13) Popup Script Handler Menu. In all script editing windows in SuperEdit, if the Command key is held down while clicking and holding the mouse on the title bar of the window, a pop-up menu will appear listing the names of all the handlers and functions in that script. Choosing one of the items of the menu will select the matching handler name and scroll the script to that point. 14) Runtime Editor Rewritten. The Runtime Editor has gone through some major changes. Not only have all the scripts been rewritten and optimized for speed (including the use of a special XFCN which unstantly returns a list of selected objects), there are now various configurations available, and the cumbersome auto-load boot scripts have been eliminated. Now it is possible to bring the Runtime Editor into action at any time, in any of three different configurations: as a full menu bar, single menu, or floating palette window. It is also possible to at any time auto-install a single-line "startUp" handler in your project to automatically bring up the Runtime Editor when the project opens, in any of the three configurations. 15) Informative Error Dialogs. SuperCard now displays memory info in any "Out of Memory" alert dialogs; including available purgeable memory; memory needed to continue running the project; Operating System error codes; plus the ability to quit to the Finder directly from the alert dialog. 16) Custom Error Handler. When a script error occurs, a new dedicated system message is now sent directly to the object containing the offending script, allowing for the trapping of errors before they get to SuperCard and display an alert. In association with some new additions to the SuperTalk language (see below), it is now possible to ascertain from script precisely where a script error occurred. 17) Intermediate Typeing. SuperCard is now much more intelligent where it concerns the relationship between text and numbers because it now converts text-based numerals into a binary format, and keeps them in that form, for faster computational speeds. SuperCard no longer converts text to binary format and back again. 18) Additional XCMD Callbacks. New callbacks to count and retrieve information on the project resources within the data fork of a project, and another to send errors directly to SuperCard. 19) Personalization. Personalization of SuperEdit has been added, where the owner's name and company is entered and remembered by the program. 20) New SuperCard Preferences. New additions to the SharedFile project optionally allow for the setting of certain preferences, including default text attributes, blind typing and text arrows settings, plus the ability to build custom keyboard shortcut configurations. PROGRAM CHANGES 1) Window Resizing. Holding down the option key while resizing a background in SuperEdit will also resize the window accordingly. Holding down the Shift key will constrain the resize to either horizontal or vertical motion. 2) Object Order Shuffling. New "Shuffle Forward" and "Shuffle Back" menu commands in SuperEdit that shuffle objects back and forth in the stacking order, one layer at a time. 3) Scrolling Field Minimum Size. A new minimum size is imposed on scrolling fields when resizing them in SuperEdit, so as to prevent scroll bar anomalies when a scrolling field is resized too small. 4) Death to Command-K. Command-B now toggles between editing the card and background. Command-K has been removed. 5) Show Invisibles Toggle. "Show Invisibles" is now a straight-forward toggle. 6) Gunsight to Crosshair. The "gunsight" cursor has been changed to a traditional crosshair cursor. 7) Memorized Messages. Via new SharedFile project scripts, the message box now keeps a history of recent messages executed from it, accessible via the up and down arrow keys. The number of remembered messages may be altered from the new SuperCard Preferences window (when this feature is enabled), with a maximum of 50 messages remembered. 8) Script Editing Shortcut. Another new SharedFile project script handler provides access to any objectUs script by depressing the Option and Command while the browse cursor is over the object. 9) Quiet Find. The "find" command no longer beeps if it called from a script and nothing is found. 10) Subsection Execution. Selecting a subsection of the text in the message box and hitting the Enter key will execute only the selected portion of the text. 11) New "Sizes" Button. A new "Sizes" button has been added to all object information dialogs that provide a means for direct input of object width, height, location and rectangle, with additional options to "pin" the changes in size to a particular point on the object (any of the four corners, the center, or none). 12) Quit Button in Alerts. A "Quit" button has been added to all Operating System error and script error alert dialogs, providing for the ability to quit SuperCard immediately. 13) The Result is Cleared. The string returned by the function "the result" is now emptied out after each command line in a script. The only actions that place anything into "the result" are XCMD's, the "find" command, and script handlers that "return" data. 14) Reverse Tabbing Order. Depressing the Shift key while tabbing through fields will reverse the tabbing direction. 15) Auto-scrolling Fields. Fields now automatically scroll to bring the selected text into view. Selecting a section of text in a field that is currently out of view will cause the field to scroll to that selected text. Text located in a field via the "find" command will also automatically scroll into view. 16) Many New XCMD's and XFCN's. The SharedFile now contains 15 useful External Commands and Functions, and another separate project contains many more. 17) Lines and the Universal Tool. The universal tool, while active, can now resize line graphics. 18) Text Styling Shortcuts. In SuperEdit, it is now possible to use the standard keyboard shortcuts to applying text styles, justifications and font sizes to the currently selected text in a field or graphic. This is done by pressing Command-Shift in combination with the appropriate keys. 19) Automatic Resource Conversion. Apple resources in the resource fork of a project may now be selectively designated to convert and load automatically into the data fork of the project when the project is opened. The technique used in making this possible is described in a Technical Note shipped with SuperCard 1.5. 20) Maximum Script Edit Window Size. Script edit windows are now limited to a maximum size of 1024 x 1024 to avoid problems associated with monitors that make use of virtual desktop technology. 21) Smoother Resource Editors. Cursor flickering has been removed from the Cursor, Icon, Brush and Pattern Editors in SuperEdit. In the Icon Editor, the actual size icon is now updated simultaneously with the drawing occurring in the "fat-bits" box. 22) The Pouch is Sacred. Any document, project, application or PICS/STEP file placed into the "SC Pouch" folder will be found by SuperCard immediately, without having to specify a full pathname. 23) Overview Window Scrolling. In SuperEdit, all Overview windows now open with the scroll set to the top. The insertion point (the black triangle at the left edge of the lists) remains at the bottom, but the list opens with the first item positioned at the top. 24) Intelligent Screen Unlocking. The commands "set lockScreen to false" and "unlock screen" will cause a redraw of the entire contents of the current card only if the "lockScreen" property of the current window had previously been set to true. LANGUAGE ADDITIONS AND CHANGES 1) Additions to "Move". The move command can now silently return an interpolated list of potential points of the movement and place them into a variable where a script can make use of them; plus additional options similar to playing PICS and STEP files, with respect to the mouse. 2) Additions to "Play STEP". The current clut can now be specified, providing the option of using the STEP file clut or the current clut (either card or background, whichever has precedence); plus a cycle command may be added to cycle the clut after each iteration of the STEP. 3) Addition to "Play PICS". PICS files may now be played at a specified location. 4) Suspend and Resume. Full support added for suspend and resume system messages. 5) Smart Clipboard. The "paste" command and the "clipboard" function will now automatically check the desk scrap to see if anything new had been placed there (from an XCMD, for example). 6) Addition to "Offset". The "offset" function now allows a starting position to be specified, as an optional third parameter, representing the number of characters to skip before searching for the string. 7) Locking The Cursor for Good. The "lockCursor" global property, when set to true, now locks the cursor up tight. SuperCard will never attempt to change the cursor while this property is set to true (except for when showing a dialog window or pulling down a menu from the menu bar, both of which force the cursor to an arrow). 8) Disabling Script Interrupts. A new global property called "allowIntsS is available, which when set to false, disables the ability to cancel the execution of scripts via the Command-Period key combination. 9) Quit System Message Added. For better compatibility with HyperCard, the "quit" system message has been implemented and is sent to the current card when it is determined by SuperCard that any particular action will result in all windows being closed (for example, when closing the last open window, or executing the "close all windows" statement). 10) New "LineOffset" Function. A new function called "lineOffset" operates the same as "offset" except it returns the line in which the search string was found, instead of the character position. 11) Invisible Windows. A new keyword addition to the "open window" and "new window" commands ("open invisible window") provides for the opening or creation of new windows without initially showing them. 12) Invisible New Projects. A new keyword addition to the "new project" command ("new invisible project") provides for the creation of new projects during runtime without initially showing the first window. 13) Shuffling Objects. New commands called "shuffleForward" and "shuffleBack" provide the capability to shuffle selected objects forward and backward in the stacking order, one level at a time. 14) Addition to "Close All Windows". This command now defaults to going back to SuperEdit to the Project Overview Window, and optionally, to bring up the current card window, or to return immediately to the Finder. 15) Memory Management Augmentations. The "heapSpace" function no longer purges any internal RAM caches, and only returns the size of the largest contiguous block of memory (not the total amount). A new function called "hasMemory", which takes a byte amount as a parameter, returns true or false indicating whether or not that amount of free space is available in the application heap. It purges memory until it can't purge any more (in which case, it will return false), or until it can return true. 16) Configurable Serial Ports. A new global property called "the serialControl" provides for the full configuration of the modem and printer port settings for use with the "dial" command. The baud rate, parity, data bits, and stop bit are changeable, along with a stipulation of whether or not a carriage return character will be sent out at the end of the string, and which port will be used (printer or modem). 17) Changing Delimiters. Two new global properties called "itemDel" and "wordDel" allow for the modification of the characters used to delimit items and words, respectively. 18) Change to MenuKey Message. The "menuKey" system message now accepts only printable characters as a parameter. 19) Numeric String Comparisons Converted. In the form of an example, the statement "0234 = 234" now evaluates totrue. 20) System Message for Keystrokes. A new system message called "keyStroke" is sent to the current card whenever a key on the keyboard is depressed and no other other legitimate destination for that keystroke has been established (such as typing into a field or the message box). Basically, whenever SuperCard 1.0 would have beeped with a key press, SuperCard 1.5 now sends the "keyStroke" message. The message carries with it one parameter, which is the key that was pressed. If the message is not trapped by a handler, it continues up to the application, resulting in the normal beep. 21) New Object for the Shared File Project Script. The project script for the SharedFile project can now be referred to as "the sharedScript". Using this new object, you can send message directly to the project script of the SharedFile, bypassing the entire message hierarchy. 22) SharedFile StartUp Message. A new system message called "shareInit" is sent directly to the project script of the SharedFile project at start-up time. It is sent out immediately prior to the existing "startUp" message, and is only seen by the SharedFile. 23) Saving Everything from Script. When the "save" command is used with the additional keyword "all" (save all), everything that is currently open is saved to disk. 24) New Script Error System Message. Now, whenever a script error occurs, a new system message called "scriptError" is sent directly to the object containing the offending script. This message carries with it a single parameter, which is the error code associated with the particular type of script error that occurred. Trapping for this message allows the developer to handle script errors in any manner, knowing exactly what kind of error has occurred. 25) Zeroing In On Script Errors. Two new functions have been added for use in determining from a script precisely where a script error occurred. Using the above mentioned "scriptError" message, the "errorObject" function returns the descriptor of the object containing the offending script (very handy in cases where the object may have already been disposed of -- for example, a menu item in a pop-up menu). The "errorOffset" function returns information regarding exactly where in the offending script the error occurred; the line number, the character offset to that line, and the actual character offset to the exact error point. 26) Clearing the Entire Clipboard. When the "cut" command is used with the additional keyword "empty" (cut empty), zero-length data is put on both the public and private scraps maintained by SuperCard, and the entire clipboard is cleared. 27) Deleting Objects. Augmentations to the "delete" command allow for the deletion of specific objects via script control. Delete now functions similar to the "cut" command, except the object or selected text is not placed on the clipboard. It is simply removed. 28) Variation on the "CloseField" System Message. A new system message for fields called "leaveField" is sent to a field whenever the insertion point is removed from that field without any modifications being made to the field contents. This message essentially works the same as "closeField" except that "leaveField" is sent to the field only when no changes were made to the text. When changes have been made to the field contents and the user clicks outside the field, the usual "closeField" message is sent.