Help Viewer
Since Help Viewer (see Figure 10-2) is essentially a browser, you can open up any local hypertext markup language (HTML) file with it (see the open command for Help Viewer). AppleScripters can thus use this program to either provide their scripts with their own HTML-based help systems or provide an alternate and perhaps quicker avenue to the Mac OS’s help files.
tell app "Help Viewer" (* get the app to print various help topics or open HTML files here *) end tell
alias list
One of the ways to open up a help file in Help Viewer is to send it
an open Apple event with a
list
of aliases as a parameter (one alias,
representing the file path to the page you want to open). The
following example opens a page on Help Viewer search tips. You can
also use open to open your own HTML files in
Help Viewer, as long as you make sure to save the file path as an
alias
inside of a list
(as in
{my_alias}
) before passing this parameter to
open :
tell application "Finder" (* path to the Help Viewer tips file *) set tips to ((system folder as string) & "help:apple help viewer:hvtps.¬ htm") as alias end tell tell application "Help Viewer" activate -- bring it to the fore open {tips} -- use open followed by a list with one alias end tell
alias list
You can use code
similar to the prior example to send a print
command to Help Viewer. Create an alias
to the
HTML file, or have the user choose the file to print using the
choose file scripting addition. (Appendix A, is devoted to scripting additions.) This
could be accomplished with the following code, which returns an
alias
type pointing to the file:
choose file with prompt "Choose the Help Viewer html file" of type {"TEXT"}
Then pass a list
containing the
alias
to the print command:
print {the_alias}
This quits the Help Viewer app.
This command opens Help Viewer so that you can send Apple events to it:
tell application "Help Viewer" to run
string
This searches the help files using a particular search term:
tell app "Help Viewer" to search looking for "AppleScript"
If you want to search just one
“book,” such as QuickTime Help,
then pass the search command a
string
parameter:
search "QuickTime Help" looking for "AppleScript"
looking for
string
Follow the looking for labeled parameter with a
string
containing your search term, as in the
following:
search looking for "QuickTime" -- or ... search looking for "QuickTime or AppleScript"
Help Viewer allows the use of the following boolean operators: and, +, or, |, not, !, and grouping with parentheses ( ). An example of grouping is searching for files containing “file type” or “file sharing” but not “file exchange”:
search looking for "file + (type | sharing) ! exchange"
string
An easy way to open up a file in Help
Viewer is to use the handle url command followed
by a string
containing the file path. You can use
file paths that are relative to the startup disk:System
Folder:Help folder:
handle url "Apple Help Viewer:hvtps.htm"
The latter command opens up the Help Viewer tips file. Using the open command appears to work better if you want to use absolute paths (e.g., “Macintosh HD:Desktop Folder:myfile.html”) or open up your own HTML files using this program (see open earlier in this chapter).
application
The Help Viewer
application
class has one element, a
window
object, and one property, which is an
alias
type of the current file that the Help
Viewer window is showing at the time. You can access the
window
element by using this code:
tell app "Help Viewer" to get name of window 1
This would return a string
such as
“Help Viewer Tips.” You can get the
file path of whatever file happens to be displayed in Help Viewer at
the moment with code such as the following:
get current file as text
This code returns something like “Macintosh HD:System Folder:Help:Apple Help Viewer:hvtps.htm.”
window
(window
object) You can get properties of the current Help Viewer window (see the
window
class description) by seizing this element
with code such as:
tell app "Help Viewer" to get name of window 1
The element can be referred to by either its name
(window “Help Viewer Tips”) or its
index
(window 1).
Current file
(alias
) Use this property to get the pathname of the file that Help Viewer currently displays.
window
A Help Viewer window has several common AppleScript window properties, but you cannot use the Help Viewer app to make a new window, as in the following:
make new window ...
You can get the value of any of these properties with code such as:
get bounds of window 1
collapsed
(boolean
) You can hide all but the Help Viewer title bar by using this code:
set collapsed of window 1 to true
bounds
(bounding rectangle
)This property returns the bounding rectangle for the window. This is a list of coordinates (which you can change), such as {50, 79, 668, 611}. For instance, this Help Viewer window’s upper left corner is 50 pixels from the left edge of the screen and 79 pixels down.
closeable
(boolean
; read-only)This is a true/false value that indicates whether the window has a close box (the little box in the upper left corner of the window).
titled
(boolean
; read-only)If the window has a title in the title bar, this property is
true
.
index
(integer
) This is the index
property of the open Help Viewer
window. Help Viewer loads new help files and search results into the
same window, so this property is almost always 1:
window 1
floating
(boolean
; read-only)Most Help Viewer windows are not floating; in other words, you can
place them behind other document windows on the desktop. This
property value is false
if the window is not
floating.
modal
(boolean
; read-only)A modal window (such as an Alert dialog message) has to be dismissed
by the user before they can do anything else with their desktop
objects. The main Help Viewer window returns false
for this property.
resizable
(boolean
; read-only)If the window can be resized then this property returns
true
.
zoomable
(boolean
; read-only)This returns true
if the Help Viewer window has a
zoom box, as does the main Viewer window.
zoomed
(boolean
)This returns true
if the user has clicked the Help
Viewer’s zoom box.
name
(international text
)This gets the name
of the window, which appears in
its title bar. An example of the return value is
“Mac Help.”
visible
(boolean
; read-only)If the Help viewer window is open, which it is when the program is
running, then this property returns true
.
position
(point
; read-only)This returns the upper-left corner coordinates of the window as a
list
type. An example of the return value is {29,
175}. The first number represents the number of pixels from the left
side of the screen along the x-axis.
tell application "Help Viewer" activate -- make Help Viewer the active window set myhelp to "macintosh hd:desktop folder:machowto.htm" as alias -- open up your own html file open {myhelp} -- open command takes a list of aliases (or alias) end tell
It is easier to use open rather than handle url if you want to use absolute file paths to open up different HTML files in Help Viewer.
If you want to create uniformity with the Mac OS’s help system, you can generate your own software program’s help files in HTML form, then use Help Viewer to display the files.