`Volume I
`
`•
`
`Addison-Wesley Publishing Company, Inc.
`Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario
`Wokingham, England Amsterdam Bonn Sydney Singapore Tokyo Madrid San Juan
`Paris Seoul Milan Mexico City Taipei
`
`Page 1 of 13
`
`SONY EXHIBIT 1011
`
`
`
`Copyright © 1985 by Apple Computer, Inc.
`
`All rights reserved. No part of this publication may be reproduced, stored in a
`retrieval system, or transmitted, in any form or by any means, mechanical,
`electronic, photocopying, recording, or otherwise, without prior written
`permission of Apple Computer, Inc. Printed in the United States of America.
`
`© Apple Computer, Inc., 1985
`20525 Mariani Avenue
`Cupertino, CA 95014
`(408) 996-1010
`
`Apple, the Apple logo, LaserWriter, Lisa, Macintosh, the Macintosh logo, and
`Mac Works are registered trademarks of Apple Computer, Inc.
`
`MacDraw, MacPaint, and MacWrite are registered trademarks of Claris
`Corporation.
`
`Simultaneously published in the United States and Canada.
`
`Written by Caroline Rose with Bradley Hacker, Robert Anders, Katie Withey,
`Mark Metzler, Steve Chernicoff, Chris Espinosa, Andy Averill, Brent Davis, and
`Brian Howard, assisted by Sandy Tompkins-Leffler and Louella Pizzuti. Special
`thanks to Cary Clark and Scott Knaster.
`
`This book was produced using the Apple Macintosh computer and the LaserWriter
`printer.
`
`ISBN 0-201-17731-5
`
`Page 2 of 13
`
`
`
`Inside Macintosh
`
`The keypad contains 18 keys, some of which duplicate keys on the main keyboard, and some of
`which are unique to the keypad. The application can tell whether the keystrokes have come from
`the main keyboard or the numeric keypad. The keys on the keypad follow the same rules for
`typeahead and auto-repeat as the keyboard.
`Four keys on the keypad are labeled with "field-motion" symbols: small rectangles with arrows
`pointing in various directions. Some applications may use these keys to select objects in the
`direction indicated by the key, the most likely use for this feature is in tables. To obtain the
`characters (+*/,) available on these keys, the user must also hold down the Shift key on the
`keyboard.
`Since the numeric keypad is optional equipment on the Macintosh 128K and 512K, no application
`should require it or any keys available on it in order to perform standard functions. Specifically,
`since the Clear key isn't available on the main keyboard, a Clear function may be implemented
`with this key only as the equivalent of the Clear command in the Edit menu.
`
`T HE M O U SE
`
`The mouse is a small device the size of a deck of playing cards, connected to the computer by a
`long, flexible cable. There's a button on the top of the mouse. The user holds the mouse and
`rolls it on a flat, smooth surface. A pointer on the screen follows the motion of the mouse.
`Simply moving the mouse results only in a corresponding movement of the pointer and no other
`action. Most actions take place when the user positions the "hot spot" of the pointer over an
`object on the screen and presses and releases the mouse button. The hot spot should be intuitive,
`like the point of an arrow or the center of a crossbar.
`
`Mouse Actions
`
`The three basic mouse actions are:
`• clicking: positioning the pointer with the mouse, and briefly pressing and releasing the
`mouse button without moving the mouse
`• pressing: positioning the pointer with the mouse, and holding down the mouse button
`without moving the mouse
`• dragging: positioning the pointer with the mouse, holding down the mouse button, moving
`the mouse to a new position, and releasing the button
`The system provides "mouse-ahead"; that is, any mouse actions the user performs when the
`application isn't ready to process them are saved in a buffer and can be processed at the
`application's convenience. Alternatively, the application can choose to ignore saved-up mouse
`actions, but should do so only to protect the user from possibly damaging consequences.
`Clicking something with the mouse performs an instantaneous action, such as selecting a location
`within a document or activating an object.
`For certain kinds of objects, pressing on the object has the same effect as clicking it repeatedly.
`For example, clicking a scroll arrow causes a document to scroll one line; pressing on a scroll
`arrow causes the document to scroll repeatedly until the mouse button is released or the end of the
`document is reached.
`
`1-36 The Keyboard
`
`Page 3 of 13
`
`
`
`The Macintosh User Interface Guidelines
`
`Dragging can have different effects, depending on what's under the pointer when the mouse
`button is pressed. The uses of dragging include choosing a menu item, selecting a range of
`objects, moving an object from one place to another, and shrinking or expanding an object.
`Some objects, especially graphic objects, can be moved by dragging. In this case, the application
`attaches a dotted outline of the object to the pointer and moves the outline as the user moves the
`pointer. When the user releases the mouse button, the application redraws the complete object at
`the new location.
`An object being moved can be restricted to certain boundaries, such as the edges of a window. If
`the user moves the pointer outside of the boundaries, the application stops drawing the dotted
`outline of the object. If the user releases the mouse button while the pointer is outside of the
`boundaries, the object isn't moved. If, on the other hand, the user moves the pointer back within
`the boundaries again before releasing the mouse button, the outline is drawn again.
`In general, moving the mouse changes nothing except the location, and possibly the shape, of the
`pointer. Pressing the mouse button indicates the intention to do something, and releasing the
`button completes the action. Pressing by itself should have no effect except in well-defined areas,
`such as scroll arrows, where it has the same effect as repeated clicking.
`
`Multiple-Clicking
`
`A variant of clicking involves performing a second click shortly after the end of an initial click. If
`the downstroke of the second click follows the upstroke of the first by a short amount of time (as
`set by the user in the Control Panel), and if the locations of the two clicks are reasonably close
`together, the two clicks constitute a double-click. Its most common use is as a faster or easier
`way to perform an action that can also be performed in another way. For example, clicking twice
`on an icon is a faster way to open it than selecting it and choosing Open; clicking twice on a word
`to select it is faster than dragging through it.
`To allow the software to distinguish efficiently between single clicks and double-clicks on objects
`that respond to both, an operation invoked by double-clicking an object must be an enhancement,
`superset, or extension of the feature invoked by single-clicking that object.
`Triple-clicking is also possible; it should similarly represent an extension of a double-click.
`
`Changing Pointer Shapes
`
`The pointer may change shape to give feedback on the range of activities that make sense in a
`particular area of the screen, in a current mode, or both:
`• The result of any mouse action depends on the item under the pointer when the mouse
`button is pressed. To emphasize the differences among mouse actions, the pointer may
`assume different appearances in different areas to indicate the actions possible in each area.
`This can be distracting, however, and should be kept to a minimum.
`• Where an application uses modes for different functions, the pointer can be a different
`shape in each mode. For example, in MacPaint, the pointer shape always reflects the active
`palette symbol.
`During a particularly lengthy operation, when the user can do nothing but wait until the operation
`is completed, the pointer may change to indicate this. The standard pointer used for this purpose
`is a wristwatch.
`
`The Mouse 1-37
`
`Page 4 of 13
`
`
`
`Inside Macintosh
`
`Selections in Arrays
`
`As described above under "Types of Applications", an array is a one- or two-dimensional
`arrangement of fields. If the array is one-dimensional, it's called a form; if it's two-dimensional,
`it's called a table. The user can select one or more fields; or part of the contents of a field.
`To select a single field, the user clicks in the field. The user can also implicitly select a field by
`moving into it with the Tab or Return key.
`The Tab key cycles through the fields in an order determined by the application. From each field,
`the Tab key selects the "next" field. Typically, the sequence of fields is first from left to right,
`and then from top to bottom. When the last field in a form is selected, pressing the Tab key
`selects the first field in the form. In a form, an application might prefer to select the fields in
`logical, rather than physical, order.
`The Return key selects the first field in the next row. If the idea of rows doesn't make sense in a
`particular context, then the Return key should have the same effect as the Tab key.
`Tables are more likely than forms to support range selections and extended selections. A table
`can also support selection of rows and columns. The most convenient way for the user to select a
`column is to click in the column header. To select more than one column, the user drags through
`several column headers. The same applies to rows.
`To select part of the contents of a field, the user must first select the field. The user then clicks
`again to select the desired part of the field. Since the contents of a field are either text or graphics,
`this type of selection follows the rules outlined above. Figure 10 shows some selections in an
`array.
`
`column
`
`field
`
`Figure 10. Array Selections
`
`W I N D O WS
`
`The rectangles on the desktop that display information are windows. The most commmon types
`of windows are document windows, desk accessories, dialog boxes, and alert boxes. (Dialog
`
`1-44 Selecting
`
`Page 5 of 13
`
`
`
`The Macintosh User Interface Guidelines
`
`and alert boxes are discussed under "Dialogs and Alerts".) Some of the features described in this
`section are applicable only to document windows. Figure 11 shows a typical active document
`window and some of its components.
`
`title bar
`scroll arrow
`•scroll box
`
`scroll bar
`
`•
`
`size box
`
`i
`
`scroll bar
`Figure 11. An Active Window
`
`Multiple Windows
`
`Some applications may be able to keep several windows on the desktop at the same time. Each
`window is in a different plane. Windows can be moved around on the Macintosh's desktop
`much like pieces of paper can be moved around on a real desktop. Each window can overlap
`those behind it, and can be overlapped by those in front of it. Even when windows don't
`overlap, they retain their front-to-back ordering.
`Different windows can represent separate documents being viewed or edited simultaneously, or
`related parts of a logical whole, like the listing, execution, and debugging of a program. Each
`application may deal with the meaning and creation of multiple windows in its own way.
`The advantage of multiple windows is that the user can isolate unrelated chunks of information
`from each other. The disadvantage is that the desktop can become cluttered, especially if some of
`the windows can't be moved. Figure 12 shows multiple windows.
`
`Opening and Closing Windows
`
`Windows come up onto the screen in different ways as appropriate to the purpose of the window.
`The application controls at least the initial size and placement of its windows.
`Most windows have a close box that, when clicked, makes the window go away. The
`application in control of the window determines what's done with the window visually and
`logically when the close box is clicked. Visually, the window can either shrink to a smaller object
`such as an icon, or leave no trace behind when it closes. Logically, the information in the
`window is either retained and then restored when the window is reopened (which is the usual
`case), or else the window is reinitialized each time it's opened. When a document is closed, the
`user is given the choice whether to save any changes made to the document since the last time it
`was saved.
`
`Windows 1-45
`
`Page 6 of 13
`
`
`
`The Macintosh User Interface Guidelines
`
`—by dragging it by its title bar. As soon as the user presses in the title bar, that window becomes
`the active window. A dotted outline of the window follows the pointer until the user releases the
`mouse button. At the release of the button the full window is drawn in its new location. Moving
`a window doesn't affect the appearance of the document within the window.
`If the user holds down the Command key while moving the window, the window isn't made
`active; it moves in the same plane.
`The application should ensure that a window can never be moved completely off the screen.
`
`Changing the Size of a Window
`
`If a window has a size box in its bottom right corner, where the scroll bars come together, the
`user can change the size of the window—enlarging or reducing it to the desired size.
`Dragging the size box attaches a dotted outline of the window to the pointer. The outline's top
`left corner stays fixed, while the bottom right corner follows the pointer. When the mouse button
`is released, the entire window is redrawn in the shape of the dotted outline.
`Moving windows and sizing them go hand in hand. If a window can be moved, but not sized,
`then the user ends up constantly moving windows on and off the screen. The reason for this is
`that if the user moves the window off the right or bottom edge of the screen, the scroll bars are
`the first thing to disappear. To scroll the window, the user must move the window back onto the
`screen again. If, on the other hand, the window can be resized, then the user can change its size
`instead of moving it off the screen, and will still be able to scroll.
`Sizing a window doesn't change the position of the top left corner of the window over the
`document or the appearance of the part of the view that's still showing; it changes only how much
`of the view is visible inside the window. One exception to this rule is a command such as
`Reduce to Fit in MacDraw, which changes the scaling of the view to fit the size of the window.
`If, after choosing this command, the user resizes the window, the application changes the scaling
`of the view.
`The application can define a minimum window size. Any attempt to shrink the window below
`this size is ignored.
`
`Scroll Bars
`
`Scroll bars are used to change which part of a document view is shown in a window. Only the
`active window can be scrolled.
`A scroll bar (see Figure 11 above) is a light gray shaft, capped on each end with square boxes
`labeled with arrows; inside the shaft is a white rectangle. The shaft represents one dimension of
`the entire document; the white rectangle (called the scroll box) represents the location of the
`portion of the document currently visible inside the window. As the user moves the document
`under the window, the position of the rectangle in the scroll bar moves correspondingly. If the
`document is no larger than the window, the scroll bars are inactive (the scrolling apparatus isn't
`shown in them). If the document window is inactive, the scroll bars aren't shown at all.
`There are three ways to move the document under the window: by sequential scrolling, by
`"paging" windowful by windowful through the document, and by directly positioning the scroll
`box.
`
`Windows 1-47
`
`Page 7 of 13
`
`
`
`Inside Macintosh
`
`Clicking a scroll arrow lets the user see more of the document in the direction of the scroll arrow,
`so it moves the document in the opposite direction from the arrow. For example, when the user
`clicks the top scroll arrow, the document moves down, bringing the view closer to the top of the
`document. The scroll box moves towards the arrow being clicked.
`Each click in a scroll arrow causes movement a distance of one unit in the chosen direction, with
`the unit of distance being appropriate to the application: one line for a word processor, one row
`or column for a spreadsheet, and so on. Within a document, units should always be the same
`size, for smooth scrolling. Pressing the scroll arrow causes continuous movement in its
`direction.
`Clicking the mouse anywhere in the gray area of the scroll bar advances the document by
`windowfuls. The scroll box, and the document view, move toward the place where the user
`clicked. Clicking below the scroll box, for example, brings the user the next windowful towards
`the bottom of the document. Pressing in the gray area keeps windowfuls flipping by until the
`user releases the mouse button, or until the location of the scroll box catches up to the location of
`the pointer. Each windowful is the height or width of the window, minus one unit overlap
`(where a unit is the distance the view scrolls when the scroll arrow is clicked once).
`In both the above schemes, the user moves the document incrementally until it's in the proper
`position under the window; as the document moves, the scroll box moves accordingly. The user
`can also move the document direcdy to any position simply by moving the scroll box to the
`corresponding position in the scroll bar. To move the scroll box, the user drags it along the scroll
`bar; an outline of the scroll box follows the pointer. When the mouse button is released, the
`scroll box jumps to the position last held by the outline, and the document jumps to the position
`corresponding to the new position of the scroll box.
`If the user starts dragging the scroll box, and then moves the pointer a certain distance outside the
`scroll bar, the scroll box detaches itself from the pointer and stops following it; if the user
`releases the mouse button, the scroll box stays in its original position and the document remains
`unmoved. But if the user still holds the mouse button and drags the pointer back into the scroll
`bar, the scroll box reattaches itself to the pointer and can be dragged as usual.
`If a document has a fixed size, and the user scrolls to the right or bottom edge of the document,
`the application displays a gray background between the edge of the document and the window
`frame.
`
`Automatic Scrolling
`
`There are several instances when the application, rather than the user, scrolls the document.
`These instances involve some potentially sticky problems about how to position the document
`within the window after scrolling.
`The first case is when the user moves the pointer out of the window while selecting by dragging.
`The window keeps up with the selection by scrolling automatically in the direction the pointer has
`been moved. The rate of scrolling is the same as if the user were pressing on the corresponding
`scroll arrow or arrows.
`The second case is when the selection isn't currently showing in the window, and the user
`performs an operation on it. When this happens, it's usually because the user has scrolled the
`document after making a selection. In this case, the application scrolls the window so that the
`selection is showing before performing the operation.
`
`1-48 Windows
`
`Page 8 of 13
`
`
`
`The Macintosh User Interface Guidelines
`
`o
`
`About M a c P a i n t . ..
`
`Scrapbook
`Rlarm Clock
`N o te Pad
`Calculator
`Key Caps
`Control Panel
`P u z z le
`
`Figure 16. Apple Menu
`
`The Apple menu also contains the "About xxx" menu item, where "xxx" is the name of the
`application. Choosing this item brings up a dialog box with the name and copyright information
`for the application, as well as any other information the application wants to display.
`
`T he File M e nu
`
`The File menu lets the user perform certain simple filing operations without leaving the
`application and returning to the Finder. It also contains the commands for printing and for
`leaving the application. The standard File menu includes the commands shown in Figure 17.
`All of these commands are described below.
`
`File
`N ew
`Open...
`
`Close
`Saue
`Saue Rs...
`R e u e rt to Saued
`
`Page Setup...
`Print...
`
`Quit
`m
`Figure 17. File Menu
`
`Standard Menus 1-55
`
`Page 9 of 13
`
`
`
`Inside Macintosh
`
`New
`New opens a new, untitled document. The user names the document the first time it's saved.
`The New command is disabled when the maximum number of documents allowed by the
`application is already open; however, an application that allows only one document to be open at a
`time may make an exception to this, as described below for Open.
`
`Open
`
`Open opens an existing document. To select the document, the user is presented with a dialog
`box (Figure 18). This dialog box shows a list of all the documents, on the disk whose name is
`displayed, that can be handled by the current application. The user can scroll this list forward and
`backward. The dialog box also gives the user the chance to look at documents on another disk,
`or to eject a disk.
`
`l e t t er
`M a r ch Figures
`M a r k e t i ng
`m e mo
`
`
`m e s s a g es m e s s a g es m e s s a g es
`
`
`N ew Totals N ew Totals N ew Totals
`
`
`Old Totals Old Totals Old Totals
`
`.
`
`
`
`O O O O
`
`
`
`
`
`Open
`
`disk n a me
`
`Cancel
`
`Eject
`
`Driue
`
`Figure 18. Open Dialog Box
`
`Using the Open command, the user can only open a document that can be processed by the
`current application. Opening a document that can only be processed by a different application
`requires leaving the application and returning to the Finder.
`The Open command is disabled when the maximum number of documents allowed by the
`application is already open. An application that allows only one document to be open at a time
`may make an exception to this, by first closing the open document before opening the new
`document. In this case, if the user has changed the open document since the last time it was
`saved, an alert box is presented as when an explicit Close command is given (see below); then the
`Open dialog box appears. Clicking Cancel in either the Close alert box or the Open dialog box
`cancels the entire operation.
`
`Close
`
`Close closes the active window, which may be a document window, a desk accessory, or any
`other type of window. If it's a document window and the user has changed the document since
`the last time it was saved, the command presents an alert box giving the user the opportunity to
`save the changes.
`
`1-56 Standard Menus
`
`Page 10 of 13
`
`
`
`The Control Manager
`
`A B O UT T H IS C H A P T ER
`
`This chapter describes the Control Manager, the part of the Toolbox that deals with controls, such
`as buttons, check boxes, and scroll bars. Using the Control Manager, your application can
`create, manipulate, and dispose of controls.
`You should already be familiar with:
`.
`• resources, as discussed in chapter 5
`• the basic concepts and structures behind QuickDraw, particularly points, rectangles,
`regions, and grafPorts
`• the Toolbox Event Manager
`• the Window Manager
`
`Note: Except for scroll bars, most controls appear only in dialog or alert boxes. To learn
`how to implement dialogs and alerts in your application, you'll have to read chapter 13.
`
`A B O UT T HE C O N T R OL M A N A G ER
`
`The Control Manager is the part of the Toolbox that deals with controls. A control is an object
`on the Macintosh screen with which the user, using the mouse, can cause instant action with
`visible results or change settings to modify a future action. Using the Control Manager, your
`application can:
`• create and dispose of controls
`• display or hide controls
`• monitor the user's operation of a control with the mouse and respond accordingly
`• read or change the setting or other properties of a control
`• change the size, location, or appearance of a control
`Your application performs these actions by calling the appropriate Control Manager routines. The
`Control Manager carries out the actual operations, but it's up to you to decide when, where, and
`how.
`Controls may be of various types (see Figure 1), each with its own characteristic appearance on
`the screen and responses to the mouse. Each individual control has its own specific properties—
`such as its location, size, and setting—but controls of the same type behave in the same general
`way.
`Certain standard types of controls are predefined for you. Your application can easily create and
`use controls of these standard types, and can also define its own "custom" control types. Among
`the standard control types are the following:
`• Buttons cause an immediate or continuous action when clicked or pressed with the mouse.
`They appear on the screen as rounded-corner rectangles with a title centered inside.
`
`About the Control Manager 1-311
`
`Page 11 of 13
`
`
`
`Inside Macintosh
`
`Button 1
`Button 2
`
`M Check BOH 1
`[x] Check BOH 2
`• Check BOH 3
`
`O Radio Button 1
`(•) Radio Button 2
`O Radio Button 3
`
`dials
`
`Figure 1. Controls
`
`• Check boxes retain and display a setting, either cheeked (on) or unchecked (off); clicking
`with the mouse reverses the setting. On the screen, a check box appears as a small square
`with a title alongside it; the box is either filled in with an "X" (checked) or empty
`(unchecked). Check boxes are frequently used to control or modify some future action,
`instead of causing an immediate action of their own.
`• Radio buttons also retain and display an on-or-off setting. They're organized into
`groups, with the property that only one button in the group can be on at a time: Clicking
`one button in a group both turns it on and turns off the button that was on, like the buttons
`on a car radio. Radio buttons are used to offer a choice among several alternatives. On the
`screen, they look like round check boxes; the radio button that's on is filled in with a small
`black circle instead of an "X".
`
`Note: The Control Manager doesn't know how radio buttons are grouped, and doesn't
`automatically turn one off when the user clicks another one on: It's up to your program to
`handle this.
`
`Another important category of controls is dials. These display the value, magnitude, or position
`of something, typically in some pseudoanalog form such as the position of a sliding switch, the
`reading on a thermometer scale, or the angle of a needle on a gauge; the setting may be displayed
`digitally as well. The control's moving part that displays the current setting is called the
`indicator. The user may be able to change a dial's setting by dragging its indicator with the
`mouse, or the dial may simply display a value not under the user's direct control (such as the
`amount of free space remaining on a disk).
`One type of dial is predefined for you: The standard Macintosh scroll bars. Figure 2 shows the
`five parts of a scroll bar and the terms used by the Control Manager (and this chapter) to refer to
`them. Notice that the part of the scroll bar that Macintosh Users know as the "scroll box" is called
`the "thumb" here. Also, for simplicity, the terms "up" andj "down" are used even when referring
`to horizontal scroll bars (in which case "up" really means "left" and "down" means "right").
`
`1-312 About the Control Manager
`
`Page 12 of 13
`
`
`
`The Control Manager
`
`up arrow
`
`"page up" region
`
`thumb
`
`"page down" region
`
`down arrow —
`
`Figure 2. Parts of a Scroll Bar
`
`The up and down arrows scroll the window's contents a line at a time. The two paging regions
`scroll a "page" (windowful) at a time. jThe thumb can be dragged to any position in the scroll
`bar, to scroll to a corresponding position within the document. Although they may seem to
`behave like individual controls, these are all parts of a single control, the scroll bar type of dial.
`You can define other dials of any shape or complexity for yourself if your application needs them.
`A control may be active or inactive. Active controls respond to the user's mouse actions;
`inactive controls don't When an active control is clicked or pressed, it's usually highlighted (see
`Figure 3). Standard button controls are inverted, but some control types may use other forms of
`highlighting, such as making the outline heavier. It's also possible for just a part of a control to
`be highlighted: For example, when thje user presses the mouse button inside a scroll arrow or the
`thumb in a scroll bar, the arrow or thumb (not the whole scroll bar) becomes highlighted until the
`button is released.
`
`Cj^ Check BOH
`
`Radio Button
`
`Figure 3. Highlighted Active Controls
`
`A control is made inactive when it has no meaning or effect in the current context, such as an
`"Open" button when no document has been selected to open, or a scroll bar when there's
`currently nothing to scroll to. An inactive control remains visible, but is highlighted in some
`special way, depending on its control type (see Figure 4). For example, the title of an inactive
`button, check box, or radio button is dimmed (drawn in gray rather than black).
`
`About the Control Manager 1-313
`
`Page 13 of 13
`
`