In case you didn't catch my first back in January, let me say it again: reviewing makes me uncomfortable. Creators put a lot of sweat into getting a product to market. Print is powerful stuff, and a bad review can do much harm. On the other hand, I like to share good news. So, in this column I'll talk about things I've used for a while and fundamentally like. Just call me Pollyana Krut.....
On objectivity: I hate to crush any world views, but it's a myth. Product reviews are inevitably subjective. The best I can do is let you in on some of the experiential baggage I filter through. Also, I know and/or have worked with some of the people whose goodies I'll be reviewing. I'll always mention any such connections. Just know it's done to help you weigh my opinions, not as name dropping.
DDJ ran a nice article by Levi Thomas and Nick Turner on programmers and their text editors last year (February 1987). The article suggested that programmers might be a bit like baby ducks, bonding strongly with the first warm editor they meet. So, to help you assess the forthcoming opinions, my first computer assisted writing was on IBM card punches and Teletype paper-printing terminals. Though primitive, both tools sported evocative sound effects.
Editing sounds have devolved, but text hacking's come a long way. I've done a lot of writing in succeeding decades, and currently work with several text editing programs. My current favorite is QUED/M 2.04. It gives me power, speed, ease of use, and a smooth-sloped learning curve. Though I briefly mentioned the product back in column 1, I'd like to give a few more details.
Got a bad case of featuritis? QUED/ M's got almost all the ones I've ever seen and/or wanted and a few more. A nonexhaustive list is:
There are three things I'd like in a future QUED/M:
Here's more detail on another product I mentioned briefly back in column 1. TMON 2.81 is the Mac debugger I use all the time. It's small and rugged and works on a wide range of code resource types in a variety of complex environments.
TMON 2.81 provides a full range of standard debugging features. It runs in a simplified windowing environment that won't go down if your code munches critical parts of the Mac's regular windowing operations. In a variety of ways, you can:
TMON was originally developed as an in-house tool by ICOM Simulations, whose other products include the graphic adventures Deja Vu and Uninvited. Waldemar Horwat (not a pseudonym, he actually exists) wrote the bulk of the program, albeit at a frighteningly young age. Darin Adler, currently working for Apple's expanding Mac Tech Support team, did the set of command extensions (known as the User Area) that accompanies this version of the debugger. The new manual is quite good; Paul Snively wrote the users' guide section, and Waldemar wrote the technical reference part.
TMON may face some rough marketing pressures over the next few months as Think, Borland, and Apple bring out new source-level debuggers. TMON works primarily at the assembly level, though it has rudimentary source code label capabilities. But those other tools aren't out yet. And, even when they are, TMON should still be useful as a robust common denominator tool, especially when it's upgraded to full 680x0 support.
HFS Navigator is a small utility that Michael Kahl, chief programming force behind Lightspeed C, showed me on my September visit to Think central. It hooks into the Mac's standard file-opening and saving dialogs and lets you hop quickly to favorite directories on file opens and saves. It also finds files and directories and can create new directories on the fly.
That's not a bad set of features, but I already had desk accessories that pulled off the last three functions, and I've become quick and comfortable mousing up, down, and sideways through my carefully organized HFS directories. Sure, Navigator looked like a nice hack, but I didn't think I needed it.
I was (eventually) wrong. I tried Navigator for a week, gave it up, came back in a day, and now I'm hooked. You know how it is: a little taste of Mac ergonomics only makes you hunger for more, and HFS Navigator feeds the pangs.
A simple installation program lets you add Navigator to your HFS disk. Thereafter, whenever you mouse-press on the directory button in a standard HFS file dialog, HFS Navigator pops up a special menu of your favorite directories (see Figure 1, page 108). You just select the directory you want to go to, and you're there, without having to mouse up and down the branches of the HFS directory tree. The current directory, shown at the top of Navigator's pop-up menu, can either be added to or deleted from the list of favorites.
Figure 1: A click on the directory name box in a standard file dialog brings up HFS NAvigator;s handy list of favorite directories.
If you hold down the Option key when you mouse-press the standard file dialog's directory button, up comes the standard pop-up menu, showing the path to the current disk's root directory. And, if you hold down the Command key during the mouse-press, a master menu pops up that lets you find files and directories and create new folders (see Figure 2, page 108). Folder making at such an opportune moment is very useful.
Figure 2: Pressing the Command key causes Navigator to bring up its action menu.
I do have two things I'd like the makers to tweak, in the name of even greater egomania. First, as currently configured, the menu of favorite directories is limited to 16 entries. I keep bumping up against that ceiling. My solution would be to raise the limit and, to keep user access fast, arrange the entries in two dimensions, as a table rather than as a list. See Figure 3, page 113, for my vision.
Figure 3: Author's vision of an improved Navigator, stretching the user interface along an orthogonal path.
Second, I don't like having to hold down the Option or Command keys when I want the standard path-to-root or master pop-up menus. A possible solution would be to give a mouse-press on one side of the directory button to get the favorites, a press on the other side to get the path-to-root, and a press within a few pixels of the top of the directory button to bring up the master menu.
HFS Navigator has a competitor, FindSwell, but I haven't got my hands on it yet. When I do I'll report back. Meanwhile, as I said earlier, Navigator's got me hooked.
I do like to maintain a positive attitude. So view the next few paragraphs as an opportunity for fabulous personal financial growth. See a need and fill it, as the kitty litter and blue toilet water inventors say.
Here's the situation: I recently spent three weeks doing production desktop publishing with a friend who's a commercial printer. I was also involved in producing the first issue of another friend's desktop published magazine. And I just finished putting out my own little software company's latest quarterly catalog. In all three instances Macs were used, and the overall process and results were quite satisfying. But we repeatedly came up against an irritating and needless bugaboo, one that creates the incredible opportunity noted earlier.
WYSIWYG is a myth. What you see on the Macintosh screen is not what you get on the laser-printed page. Oh, it's close. Frustratingly close. But not close enough for real commercial production work. Hairlines vary in size. Text and graphic elements lose their relationships. Whole sentences can switch pages. On-screen measurements indicate you're controlling placement to four or five decimal places, and the finished result can vary by big pieces of inches. And this is true, to varying but never completely insignificant degrees, with every piece of desktop software we used. So you proof and kiudge and proof and kiudge until the result's acceptable.
There's no good reason for such behavior. These are computers, kids, and they're very good at arithmetic. The Mac has SANE, with ungodly levels of precision. If software SANE's too slow, you can write directly to the hardware. If Apple's LaserWriter driver doesn't work properly, just send PostScript out directly. If PostScript's the problem, learn how to work around it. But, please, somebody, do something. This is intolerable.
Deliver desktop publishing accuracy along with ease of use and automated power, and you'll get very rich. `Cos there are a lot of people out there doing this stuff, and they all know the truth: the WYSIWYG emperor's walking around stark jaybird nekkid!
I spent some time this last month wandering around HyperCard and HyperTalk. Serendipitous travel's my most fruitful learning mode. This month's code corner features a small toolkit I built to aid that exploration. Building and running it revealed some of HypesCard 1.0.1's contradictory qualities.
First, the script editing facilities can be politely described as primitive, but the graphics editing facilities are elegant.
Second, execution speed can be slow. Depending on the hardware, this month's project takes 0.5 to 4 minutes to copy less than 20 objects from one stack to another. Third, execution speed can be fast. My buddy Bruce The Q. Hammond built a 40,000 card HyperCard database (he likes to break and fix things). Searches over this multimegabyte file were in the sub-30-second range.
Fourth, HyperTalk syntax can be intuitive. Right from the start I could write large pieces of code without continual manual browsing. Fifth, HyperTalk syntax can be inconsistent for example, the usage of the word the. Sometimes it's optional, sometimes it's mandatory, sometimes it's forbidden. Aargh! Who can keep track?
Sixth, HyperCard can be used to build large, complex coordinating tools. Take a look at some of the commercial applications starting to appear.
And finally, HyperTalk can bog down while running through large amounts of complex code. Take a look at some of the commercial applications starting to appear.
Notice the seesaw here. It's good, it's bad. It's fun, it's irritating. It breaks Macintosh conventions, it extends the Macintosh metaphor. ..... .final judgments will obviously have to wait. Let's just hope Bill and his team keep at it `til they get it right. Meanwhile, on to the project.
As I learned long ago from the Kernighan/Ritchie/Plauger crowd, the first thing you want to do in a new environment is build some simple tools, then lever yourself up into power and sophistication. HyperCard's no exception to the rule.
Whenever I started work on a new stack or card, I found myself spending quite a bit of time bringing in the basic buttons that let me hook into HyperCard's facilities. I'd find myself unable to go Home or without a menu bar. And I hate memorizing key combinations. So, I built a useful set of buttons that can be installed with one click and one paste-automatically. It's the Scouting Toolkit.
Figure 4, page 113, shows the self- documenting card the toolkit lives on. Figure 5, page 113, identifies the 15 buttons and two (hidden) text fields that make up the domicile card's object world. All but one field and one button go with the toolkit when it travels to new stacks and cards. Figure 6, left, details the 12 icons used in the buttons. Listing One, page 72, gives complete descriptions and scripts for the card, its stack, the buttons, and the fields.
Figure 4: The Scouting Toolkit's card of residence.
Figure 5: Where the 15 buttons and 2 (hidden) fields live on the toolkit's residence card.
Figure 6: Design details of the 12 icons used in the Scouting toolkit.
Installing the toolkit on a new card is easy. First, make sure your Home card knows where the toolkit's stack lives. Then click on button 14. It copies itself to the clipboard. Now go to your target stack and card, and give a Paste command. As ceaselessly mentioned, the rest is automatic.
The toolkit proper contains eight major buttons, numbers 5 through 12. The top four let you toggle various environmental windows. The bottom four take you to useful places. The other toolkit buttons support the big eight.
The whole toolkit folds up and disappears if you click in its interior outside the buttons. lt reinflates when you click on its iconic remainder, button 13.
Like all good organisms, the toolkit knows when to fold its tent and scoot off into the night. Button number 1 removes all traces of the toolkit from a card, including itself. Snake tail swallowing is one useful byproduct of HyperTalk's ability to self-reference.
I keep telling Tyler I'll cut down the size of these columns and their listings. And I'm trying. But once again I've exceeded my spatial budget. So you'll have to wait until next month for the remaining discussion of the Scouting Toolkit's objects and their operation.
Of course, Marvel and DC always come up with dramatic catchphrase hooks for their continued graphic stories. But all I can think of is this small section's subhead. Who ever said comic books ain't superior literature?
I've worked without reader feedback on these first few columns--frightening but true. So, if you get a chance and have the interest, drop me a note detailing what you want to see more and less of.
Next time out, besides the project wrap-up: reader mail, Mac Expo, parentheses surrender, the Cambridge ambience, intelligent pictures, Microsoft madness. And, of course, another code project. See you in 31.
HFS Navigator
Think Technologies 135 South Rd. Bedford, MA 01730 (800) 648-4465 (617) 275-4800 Reader Service No. 20
QUED/M 2.04
Paragon Concepts Inc. 4954 Sun Valley Rd. Del Mar, CA 92014 (619) 481-1477 Reader Service No. 21
TMON 2.81
ICOM Simulations Inc. 646 S. Wheeling Rd. Wheeling, IL 60090 (312) 520-4440 Reader Service No. 22
[LISTING ONE]
QUED/M 2.04
And on and on. ... I sense QUED/M's designers have used a lot of text editors and Mac applications and have kept lists of features they've liked, detested, and wished for. And, unlike some applications that sport an abundance of commands and options, QUED/M's design and implementation seem clean, well organized, and intuitive.
Victor Romano programmed QUED/M 2.04. He and Jerry Lewak designed it. Jerry also wrote the manual. Two people, one fine text-editing product. Kudos, gentlemen, and thanks. I wish I had QUED/M in all my other computing worlds.TMON 2.81
There is one glaring omission in this version of TMON: though it won't blow when used with a 68020 or 68881, it won't disassemble non-68000 instructions or display non68000 registers. So you can't really debug anything involving 68020s, 68881s, 68851s, et al. Shame, shame.BFS Navigator
WYSIWYG Ain't
Code Corner
Getting a Toehold
Toolkit Descriptions and Behaviors
Trees Saved As Description's Delayed
Wrap-up
Vendors
-------------------------------------------------------------
Scouting Toolkit
A Hypercard Project
Programmed and 1988 by Stan Krute
All rights reserved
-------------------------------------------------------------
Description Of Objects
-------------------------------------------------------------
The Stack
Description
The stack's name is "Scouting Toolkit"
It contains 1 background
It contains 1 card
The size of the stack is 20K
Script
The stack has no script
-------------------------------------------------------------
Background 1
Description
The background has no name
It's used by 1 card
Script
The background has no script
-------------------------------------------------------------
Card 1
Description
The card's name is "Scouting Toolkit"
It contains 17 buttons
It contains 2 fields
Script
---------------------------- openCard --------------------------
on openCard
-- hide the menubar, and initialize a state variable for it
global menubarState
hide menubar
put "hidden" into menubarState
-- hide some windows
hide message box
hide tool window
hide pattern window
end openCard
---------------------------- mouseUp --------------------------
on mouseUp
-- redraw the toolkit buttons, in case some are hidden
repeat with buttonNumber = 2 to 13
show button buttonNumber
end repeat
end mouseUp
-------------------------------------------------------------
Button 1
Description
The button's name is "Delete Scouting Toolkit"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30010
Its rectangle is 42 units wide, 42 unitshigh
The button's located at card location (36,292)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------ mouseUp ------------------------------
on mouseUp
-- make sure we don't mess up the supply card
if short name of this card is not "Scouting Toolkit" then
-- save and set the user level
get userLevel
put it into entryUserLevel
set userLevel to 5
-- show the watch cursor
set cursor to 4
-- make sure the kit buttons are showing
show button "Scouting Toolkit Icon"
click at loc of button "Scouting Toolkit Icon"
-- set the tool
choose button tool
-- get rid of our toolkit
click at loc of button "Home"
doMenu "Clear Button"
click at loc of button "Back"
doMenu "Clear Button"
click at loc of button "Next"
doMenu "Clear Button"
click at loc of button "Previous"
doMenu "Clear Button"
click at loc of button "Toggle Pattern Window"
doMenu "Clear Button"
click at loc of button "Toggle Tool Window"
doMenu "Clear Button"
click at loc of button "Toggle Message Box"
doMenu "Clear Button"
click at loc of button "Toggle Menubar"
doMenu "Clear Button"
choose field tool
show card field "Copyright"
click at loc of card field "Copyright"
doMenu "Clear Field"
choose button tool
click at loc of button "Scouting Toolkit About"
doMenu "Clear Button"
click at loc of button "Scouting Toolkit"
doMenu "Clear Button"
click at loc of button "Scouting Toolkit Window"
doMenu "Clear Button"
show button "Scouting Toolkit Icon"
click at loc of button "Scouting Toolkit Icon"
doMenu "Clear Button"
-- snake swallows tail
click at loc of button "Delete Scouting Toolkit"
doMenu "Clear Button"
-- set the tool
choose browse tool
-- restore the cursor
set cursor to 0
-- restore the user level
set userLevel to entryUserLevel
else
-- we're on the supply card, so it would be bad form to delete
-- send a signal
show card field "No Delete Here"
-- wait a moment
wait 1 seconds
-- hide the signal
hide card field "No Delete Here"
end if
end mouseUp
-------------------------------------------------------------
Button 2
Description
The button's name is "Scouting Toolkit Window"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has no icon
Its rectangle is 300 units wide, 182 units high
The button's located at card location (197,144)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- make a noise
play "boing" "c"
-- close the kit
hideScoutingToolkit
-- show the trigger
show button "Scouting Toolkit Icon"
end mouseUp
----------------------- hideScoutingToolkit -----------------------
on hideScoutingToolkit
-- hide the kit's buttons
hide button "Home"
hide button "Back"
hide button "Next"
hide button "Previous"
hide button "Toggle Pattern Window"
hide button "Toggle Tool Window"
hide button "Toggle Message Box"
hide button "Toggle Menubar"
hide button "Scouting Toolkit About"
hide button "Scouting Toolkit"
hide button "Scouting Toolkit Window"
end hideScoutingToolkit
-------------------------------------------------------------
Button 3
Description
The button's name is "Scouting Toolkit"
Its Show name property is true
Its Auto hilite property is true
Its style is opaque
It has no icon
Its rectangle is 120 units wide, 20 units high
The button's located at card location (296,160)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------ mouseUp ------------------------------
on mouseUp
-- pass the message through
send mouseUp to button "Scouting Toolkit Window"
end mouseUp
-------------------------------------------------------------
Button 4
Description
The button's name is "Scouting Toolkit About"
Its Show name property is false
Its Auto hilite property is true
Its style is transparent
It has an icon, ID# 30011
Its rectangle is 24 units wide, 22 units high
The button's located at card location (466,150)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------- mouseUp -------------------------------
on mouseUp
-- show the copyright notice
show card field "Copyright"
-- a little sound effect
play "harpsichord" "c e g"
-- wait for a mouse click
wait until the mouseClick
-- a little sound effect
play "harpsichord" "g e c"
-- hide the copyright notice
hide card field "Copyright"
end mouseUp
-------------------------------------------------------------
Button 5
Description
The button's name is "Toggle Menubar"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30009
Its rectangle is 42 units wide, 42 units high
The button's located at card location (225,193)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- no built-in check for visibility, so
global menubarState
-- toggle the menubar's visibility
if menubarState is "hidden" then
show menubar
put "showing" into menubarState
else
hide menubar
put "hidden" into menubarState
end if
end mouseUp
-------------------------------------------------------------
Button 6
Description
The button's name is "Toggle Message Box"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30008
Its rectangle is 42 units wide, 42 units high
The button's located at card location (292,193)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- toggle the message window's visibility
if the visible of message box is true then
hide the message box
else
show the message box
end if
end mouseUp
-------------------------------------------------------------
Button 7
Description
The button's name is "Toggle Tool Window"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30007
Its rectangle is 42 units wide, 42 units high
The button's located at card location (359,193)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- toggle the tool palette window's visibility
if the visible of tool window is true then
hide tool window
else
show tool window
end if
end mouseUp
-------------------------------------------------------------
Button 8
Description
The button's name is "Toggle Pattern Window"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30006
Its rectangle is 42 units wide, 42 units high
The button's located at card location (426,193)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- toggle the pattern palette's window's visibility
if the visible of pattern window is true then
hide pattern window
else
show pattern window
end if
end mouseUp
-------------------------------------------------------------
Button 9
Description
The button's name is "Previous"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30001
Its rectangle is 42 units wide, 42 units high
The button's located at card location (225,259)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- move to the previous card
doMenu "Prev"
end mouseUp
-------------------------------------------------------------
Button 10
Description
The button's name is "Next"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30002
Its rectangle is 42 units wide, 42 units high
The button's located at card location (292,259)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- move to the next card
doMenu "Next"
end mouseUp
-------------------------------------------------------------
Button 11
Description
The button's name is "Back"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30003
Its rectangle is 42 units wide, 42 units high
The button's located at card location (359,259)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- go to the last card visited
doMenu "Back"
end mouseUp
-------------------------------------------------------------
Button 12
Description
The button's name is "Home"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30005
Its rectangle is 42 units wide, 42 units high
The button's located at card location (426,259)
Its text properties are: System Font 12, Height 16, Align center
Script
---------------------------- mouseUp ----------------------------
on mouseUp
-- go home
visual effect iris close
doMenu "Home"
end mouseUp
-------------------------------------------------------------
Button 13
Description
The button's name is "Scouting Toolkit Icon"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30004
Its rectangle is 42 units wide, 42 units high
The button's located at card location (178,83)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------- mouseUp -------------------------------
on mouseUp
-- make a noise
play "boing" "e"
-- hide this button
hide button "Scouting Toolkit Icon"
-- show the toolkit
showScoutingToolkit
end mouseUp
------------------------- showScoutingToolkit -------------------------
on showScoutingToolkit
-- show the toolkit's buttons
show button "Toggle Menubar"
show button "Scouting Toolkit Window"
show button "Scouting Toolkit About"
show button "Scouting Toolkit"
show button "Toggle Message Box"
show button "Toggle Tool Window"
show button "Toggle Pattern Window"
show button "Previous"
show button "Next"
show button "Back"
show button "Home"
end showScoutingToolkit
-------------------------------------------------------------
Button 14
Description
The button's name is "Duplicate Scouting Toolkit"
Its Show name property is false
Its Auto hilite property is true
Its style is shadow
It has an icon, ID# 30000
Its rectangle is 42 units wide, 42 units high
The button's located at card location (460,12)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------ newButton ------------------------------
on newButton
-- make sure we don't mess up the supply card
if short name of this card is not "Scouting Toolkit" then
-- save and set the user level
get userLevel
put it into entryUserLevel
set userLevel to 5
-- set the cursor to the watch
set cursor to 4
-- set the tool
choose button tool
-- for all the buttons in the set
repeat with buttonNumber = 1 to 13
-- remember where we are (the target card)
push card
-- hide screen commotion
set lockScreen to true
-- go to the supply card
go to card "Scouting Toolkit" of stack "Scouting Toolkit"
-- select the button
click at loc of button buttonNumber
-- copy the button
doMenu "Copy Button"
-- return to the target card
pop card
-- show screen commotion
set lockScreen to false
-- paste the button
doMenu "Paste Button"
end repeat
-- copy the copyright notice
copyCopyrightField
-- get rid of this duplication button
choose button tool
click at loc of button "Duplicate Scouting Toolkit"
doMenu "Cut Button"
-- move two buttons
drag from loc of button "Scouting Toolkit Icon" to loc of button "Back"
hide button "Scouting Toolkit Icon"
drag from loc of button "Delete Scouting Toolkit" to loc of button "Home"
-- hide the toolkit
choose browse tool
click at loc of button "Scouting Toolkit Window"
-- restore the user level
set userLevel to entryUserLevel
end if
end newButton
-------------------------- copyCopyrightField --------------------------
on copyCopyrightField
-- save our location
push card
-- hide screen commotion
set lockScreen to true
-- go to the supply card
go to card "Scouting Toolkit" of stack "Scouting Toolkit"
-- set tool
choose field tool
-- select the field
show card field "Copyright"
click at loc of card field "Copyright"
-- copy the button
doMenu "Copy Field"
-- hide the field
hide card field "Copyright"
-- and get the field's contents
get card field "Copyright"
-- return to the target card
pop card
-- show screen commotion
set lockScreen to false
-- paste the field, fill it up, and hide it
doMenu "Paste Field"
put It into card field "Copyright"
hide card field "Copyright"
end copyCopyrightField
-------------------------------- mouseUp --------------------------------
on mouseUp
-- make sure we're at the supply card
if short name of this card is "Scouting Toolkit" then
-- show the watch cursor
set cursor to 4
-- copy the button
choose button tool
click at loc of button "Duplicate Scouting Toolkit"
doMenu "Copy Button"
-- restore tool
choose browse tool
end if
end mouseUp
-------------------------------------------------------------
Button 15
Description
The button's name is "Copyright"
Its Show name property is false
Its Auto hilite property is true
Its style is transparent
It has an icon, ID# 30000
Its rectangle is 70 units wide, 13 units high
The button's located at card location (0,52)
Its text properties are: System Font 12, Height 16, Align center
Script
------------------------------- mouseUp -------------------------------
on mouseUp
-- pass message on to the toolkit's About button
send mouseUp to button "Scouting Toolkit About"
end mouseUp
-------------------------------------------------------------
Card Field 1
Description
The field's name is "Copyright"
It's hiddden
Its Lock text property is true
Its Show lines property is false
Its Wide margins property is false
Its style is rectangle
Its rectangle is 286 units wide, 129 units high
The field's located at card location (204,190)
Its text properties are: Geneva 12, Height 16, Align center
Contents
"1987 by Stan Krute's Camp Creek Institute.
All rights reserved.
Call or write for details:
18617 Camp Creek Road
Hornbrook, California96044
[916] 475-3428"
Script
The field has no script
-------------------------------------------------------------
Card Field 2
Description
The field's name is "No Delete Here"
It's hiddden
Its Lock text property is true
Its Show lines property is false
Its Wide margins property is false
Its style is opaque
Its rectangle is 39 units wide, 39 units high
The field's located at card location (37,293)
Its text properties are: Geneva 9, Height 12, Align center
Contents
"Not Here,
Though."
Script
The field has no script
-------------------------------------------------------------