Symbols
- #import <Cocoa/Cocoa.h\>
statement, Tiny.m Revisited
- #import
directive, The #import Directive
- + (plus sign), in
method names, The +alloc Method and the NSObject Root Class
- +alloc class
method, The +alloc Method and the NSObject Root Class
- +initialize
method, Adding Defaults to GraphPaper
- +standardUserDefaults
method, The NSUserDefaults Class, Reading Values from the Defaults Database
- .m file
extension, The Tiny.m Program
- /* and
*/, as comment
delimiter, Tiny.m Revisited
- //
(double forward slash), as comment delimiter, Tiny.m Revisited
- <\>
(angle brackets), Implementing the Display List
- @end
directive, The @implementation Directive, Implementing the Display List
- @implementation
directive, The @implementation Directive, The @implementation Directive
- @interface
directive, The @interface Directive
- @protocol
directive, Implementing the Display List
- [ ] (square
brackets), Objects and Classes
- [[sender selectedCell]
tag] message, The enterDigit: Action Method
- : (colon, in
Objective-C messages), Targets, Actions, and Connections
- \\
(backslash), Rich Text Syntax, RTF Control Words and Symbols
- \|
(pipe), Working in a Unix Shell, Step by Step
- { } (curly
braces), Rich Text Syntax
- {\\rtf0 and
{\\rtf1, RTF Control Words and Symbols
A
- About
box, Changing the Strings in the About Box
- application icon,
adding to, Making the New Icon Appear in the About Box
- customizing, Modifying the Main Calculator Nib
- aboutPanel outlet, Modifying the Controller Class
- AboutPanel.nib
file, Creating the About Box Nib, Creating the About Box Nib
- icon activation, Making the New Icon Appear in the About Box
- abstract
superclass, Views, Responders and the NSResponder Chain
- acceptsFirstMouse:
method, Mouse Event Handling, Being a Drag-and-Drop Source
- acceptsFirstResponder
message, An Event-Handling Example Using TextEdit
- acceptsMouseMovedEvents
flag, Accepting Mouse-Moved Events
- accessor
methods, A Simple Class Example
- rules
for use, autorelease and the NSAutoreleasePool Class
- accessory
views, Creating an Accessory NSView
- action
buttons, Buttons
- action
methods
- Controller class, adding
to, Modifying the Controller Class
- declaration, Using IB’s Read Files Commandwith a New Action Method
- actions, Targets, Actions, and Connections, Targets, Actions, and Connections, Adding Actions to the Controller
- active
application, A Quick Look at the Mac OS X User Interface, Window Menu, Working with Files
- active
window, A Quick Look at the Mac OS X User Interface
- ADC (Apple Developer
Connection), Apple Developer Connection
- addAnnotation:
method, Changes to the TrackingGraphView Class Files
- addAxesFrom:to:
method, Adding Axes
- addBufToGraph:
method, The Graph Displayer
- adder.m
file, NSString, NSMutableString, and NSLog
- addGraphElement: method, Implementing the Display List, The Graph Displayer, The ColorGraphView Class Implementation
- additive color
models, Colors and Color Objects
- addTrackingRect:owner:userData:assumeInside:
method, Mouse Event Handling
- addWindowController:
method, MathDocument Class Modifications
- administrator
(or root) processes, viewing, Seeing All the Processes
- Adobe
PostScript, Saving to PDF
- AIFF files,
opening, Getting Information About Files
- alerts, Alerts
- alloc
method, Creating and Initializing Objects
- rules for
use, autorelease and the NSAutoreleasePool Class
- alpha (transparency), Colors and Color Objects
- ancestorSharedWithView: method, The NSView Hierarchy
- angle brackets
(<\>), Implementing the Display List
- angle
changes, fonts in RTF, Using TextEdit to Explore RTF
- animation, Timers
- .app file extension, Building the Calculator’s User Interface
- app
wrapper, Building the Calculator’s User Interface
- app.icns
file, Viewing Icons with the icns Browser Application
- appendRTFData:
method, Integrating Our RTF Class into MathPaper
- appendString:
method, Adding a Method Using a Category
- AppIcon.icns
file, Creating Application Icon Files with IconComposer
- AppKit, What Makes Mac OS X So Special?
- delegates,
classes that support, Specifying an Object’s Delegate
- document-based
architecture, Cocoa’s Document-Based Architecture
- important
classes, Tiny.m Revisited
- Apple Developer
Connection (ADC), Apple Developer Connection
- Apple Foundation
library, The Foundation Classes
- Apple menu, Menus and the Menu Bar
- Application
Kit (see AppKit)
- applicationDidFinishLaunching:
message, Should, Will, and Did Delegates, Adding the Delegate Method to the Controller
- services,
registration, Changes to Controller
- applications
- icons, A Quick Look at the Mac OS X User Interface
- adding
to, Adding Icons to Applications, Making the New Icon Appear in the About Box
- images, adding
to, Making the New Icon Appear in the About Box
- Interface
Builder, development with, Interface Builder
- interfaces and
Aqua, Basic Principles of the Aqua Interface
- menus, Menus and the Menu Bar, Application Menu
- modal
alerts, Alerts
- objects,
adding to, Adding Objects to Your Application, Inspecting and Changing Your Button’s Attributes
- applicationShouldTerminate:
message, Should, Will, and Did Delegates
- application:openFile:
message, An Event-Handling Example Using TextEdit
- Aqua, Preface, Understanding theAqua Interface
- application
interfaces and, Basic Principles of the Aqua Interface
- interface
standard, Adding a Zoom Button to GraphPaper
- mice
and, Consistent Aqua, Mouse Action Paradigms
- AT&T Bell
Labs, Unix
- autorelease
message, autorelease and the NSAutoreleasePool Class, MathDocument Class Modifications
- rules for
use, autorelease and the NSAutoreleasePool Class
- autorelease
pool, autorelease and the NSAutoreleasePool Class
- autosizing, Modifying the Calculator’s Interface, Autosizing Multiple Views in a Window, Autosizing Multiple Views in a Window, Autosizing in GraphPaper
- Controller class,
modification of, Modifying the Controller Class
- position
selection, Modifying the Calculator’s Interface
- auxiliary
nibs, Managing Multiple Nibs
- availableTypeFromArray: method, Providing Data to the Pasteboard
- awakeFromNib method, Modifying the Controller Class, Putting It All Together, PrefController Class Implementation, Changes to ZoomScrollView, Reading Values from the Defaults Database
B
- back
end, The Evaluator Back End
- (see also Evaluator)
- Calculator, Building the Calculator’s Controller Class
- GraphPaper, Connecting to the Back End, Changes to the Evaluator Back End
- MathPaper, The Evaluator Back End, Building the Back End
- backslash
(\\), Rich Text Syntax, RTF Control Words and Symbols
- BarView
class, BarView: An NSView with a Scaled Coordinate System, BarView: An NSView with a Scaled Coordinate System
- batch mode
processing, History of the Video Display Terminal
- becomeFirstResponder
message, An Event-Handling Example Using TextEdit
- beginPageInRect:
method, Adding Printing Capability
- bevel buttons, Other Controls
- bidirectionality, Quartz
and, Buffered, Retained, and Nonretained Windows
- binding,
Objective-C, Objects, Messages, and Targets
- bitmap displays, History of the Video Display Terminal
- bounds
method, NSView Coordinate Systems, Connecting to the Back End, Adding Labeling
- boundsRotation method, NSView Coordinate Systems
- breakpoint, gdb Commands
- buffered
windows, Buffered, Retained, and Nonretained Windows
- bug
reporting, Bug Reporting
- bundles, Modifying the Controller Class
- buttons, Buttons
- adding sound
to, Giving Your Button a Funky Sound
- adding
to windows, Adding a Button Object to Your Window
- attributes, changing
and inspection, Inspecting and Changing Your Button’s Attributes
- enabling
and disabling, Disabling Buttons for BetterMultiradix Input, Accessing NSMatrix Cells with an NSArray Object
- setting
tags, Adding the Four Calculator Functions
C
- Calculator
application, Building a Project: A Four-Function Calculator, Exercises
- About
box, Changing the Strings in the About Box
- AboutPanel.nib
file, Creating the About Box Nib, Creating the About Box Nib
- calculator functions,
adding, Adding the Four Calculator Functions
- CalcWindow
class, Subclassing the NSWindow Class, Implementing the CalcWindow Class, Finishing off the CalcWindow class implementation
- compiling and
running, Compiling and Running a Program, Compiler Error Messages
- Controller
class, Building the Calculator’s Controller Class
- design, Designing the Controller Class
- keyboard event captures,
enabling, Changes in the Controller Class
- specification as
delegate, Specifying an Object’s Delegate
- controls,
adding, Adding Controls in a Window
- enumerated data
type, Adding the Four Calculator Functions
- generated
files, Other PB-Generated Files
- hexadecimal operations, Resizing Windows Programmatically
- icons,
adding, Adding Icons to Applications, Making the New Icon Appear in the About Box
- icon
activation, Changing Calculator’s Application Icon
- interface,
modifying, Modifying the Calculator’s Interface
- keyboard events,
catching, Catching Keyboard Eventsfor Our Calculator, Changes in the Controller Class
- main( )
function, The main.m Program File Generated by PB
- MainMenu.nib file,
modifying, Modifying the Main Calculator Nib
- menu
configuration, Nibs and Icons, Creating the About Box Nib
- multiple base capabilities,
adding, Handling Different Bases, Modifying the Controller Class
- keypad buttons,
disabling, Disabling Buttons for BetterMultiradix Input, Accessing NSMatrix Cells with an NSArray Object
- unary minus
function, Adding the Unary Minus Function to the Controller Class
- window
customization, Customizing the Main Window
- CalcWindow
class, Subclassing the NSWindow Class, Implementing the CalcWindow Class, Finishing off the CalcWindow class implementation
- button search
methods, Methods for searching for button titles
- dealloc
method, Finishing off the CalcWindow class implementation
- implementing, Implementing the CalcWindow Class
- keyDown:
method, Finishing off the CalcWindow class implementation
- “Can’t create
new document”
alert, Testing MathPaper’s Document-Based Architecture
- canBecomeKeyWindow
message, An Event-Handling Example Using TextEdit
- Carbon, The Toolbox, Carbon, and Cocoa
- using
to inspect defaults, Reading Values from the Defaults Database
- carriage returns in
RTF (Rich Text Format), RTF Control Words and Symbols
- case-sensitivity, Working with Folders, Working in a Unix Shell, Step by Step
- categories, Adding the Delegate Method to the Controller
- adding
methods to classes, Adding a Method Using a Category
- cells
message, Accessing NSMatrix Cells with an NSArray Object
- cells, controls
and, Adding Controls in a Window
- NSCell objects, Adding Controls in a Window
- central processing
unit (CPU), Mach
- CFStringRef, Reading Values from the Defaults Database
- change count
flag, Marking a Document Window as Edited
- changeZoom:
method, Changes to MainMenu.nib, Changes to ZoomScrollView
- checkboxes, Radio buttons and checkboxes
- checkButton:
method, Methods for searching for button titles
- checkMatrix:
method, Methods for searching for button titles
- checkView:
method, Methods for searching for button titles
- Circle class, A Simple Class Example
- class
interface, The @interface Directive
- class
methods, The +alloc Method and the NSObject Root Class
- classes, Objects and Classes, Objects and Classes
- (see also entries
under individual classes)
- adoption of
protocols, Implementing the Display List
- example, A Simple Class Example
- switching between .h
and .m files, Adding the Four Calculator Functions
- Classic
mode, Mac OS X and Classic Mode
- clear method, Implementing the Display List
- click-to-focus, The Finder’s Viewing Options
- CMYK color
model, Colors and Color Objects
- Cocoa, Cocoa and Mac OS X, What Makes Mac OS X So Special?, The Toolbox, Carbon, and Cocoa
- autosizing
system, Modifying the Calculator’s Interface
- bug
reporting, Bug Reporting
- dictionaries, Dictionaries, Dictionaries
- documentation, type
conventions, Should, Will, and Did Delegates
- headers,
precompilation, Tiny.m Revisited
- history, Object-Oriented Programming
- integrated
development
environment, Project Builder
- Java
and, Cocoa, Objective-C, and Java
- locking
classes, Locking with NSLock
- mailing
lists, Mailing Lists
- memory
management, ObjectAlloc
- multithreaded
environment, limitations of, Locking with NSLock
- notification
system, Modifying the Controller Class, Creating PaperController, a Subclass of NSWindowController, Getting Data from Evaluator, Putting It All Together
- object
classes, Objects and Classes
- online
documentation, Online Documentation
- pasteboard data
types, Providing Data to the Pasteboard
- programs,
compiling, Compiling and Running a Program, Compiler Error Messages
- scrolling, Timers
- versions, Cocoa Versions
- web
sites, Web Sites
- Cocoa developer
documentation, Giving Proper Titles to MathPaper Windows
- Cocoa-Containers
palette, Creating the MathAnimation View
- Cocoa-Data
palette, Setting Up PaperWindow.nib, The NSScrollView and NSTextView Classes
- Cocoa-Menus palette, Getting Started with Interface Builder, Handling Different Bases, The MainMenu.nib File, Changes to MainMenu.nib
- Cocoa-Other
palette, Getting Started with Interface Builder, Targets, Actions, and Connections, Making the New Icon Appear in the About Box, Handling Different Bases
- Cocoa-Views
palette, Adding a Button Object to Your Window, Adding Controls in a Window, Creating the About Box Nib, Building GraphPaper’s Interface
- Cocoa-Windows
palette, Creating the About Box Nib, Implementing the About Panel in MathPaper
- coherence, Coherence in Object-Oriented Programming
- colon
(:), use in Objective-C
messages, Targets, Actions, and Connections
- color, Colors and Color Objects
- programming, Colors from a Programmer’s Point of View
- color
chip, Colors from a User’s Point of View
- color methods, Setting Colors, Drawing Rectangles, and Drawing Lines, Setting Colors, Drawing Rectangles, and Drawing Lines
- color
spaces, Colors and Color Objects
- color
well, Color Wells and Image Wells
- colorForTag:
method, ColorGraphView, The ColorGraphView Class Implementation
- ColorGraphView
class, Adding Color to GraphPaper, ColorGraphView, The ColorGraphView Class Implementation
- defaults
and, Adding Defaults to GraphPaper
- registering, Registering the Default Values
- drag-and-drop
modifications, Being a Drag-and-Drop Receiver
- implementation, The ColorGraphView Class Implementation
- TrackingGraphView
subclass, Changes to the GraphPaper Interface
- Colors
panel, Colors from a User’s Point of View
- color model,
selection, Colors from a User’s Point of View
- ColorWeb Pro, Colors and Color Objects
- colorWellForTag:
method, PrefController Class Implementation
- combination
boxes, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- Command
key, Menus and the Menu Bar
- command pop-down
menus, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- Command-Option-up-arrow key
combination, Adding the Four Calculator Functions
- commenting, Tiny.m Revisited
- compiling
programs, Compiling and Running a Program, Compiler Error Messages
- error
messages, Compiler Error Messages
- from Project
Builder, Compiling and Running a Program from PB
- in
Terminal shell
window, Compiling and Running a Program from PB
- compositeToPoint:operation
method, Drawing Images with Quartz
- compositing, Drawing Images with Quartz
- common operations, Drawing Images with Quartz
- compositing
operator, Drawing Images with Quartz
- computational
engine, Building the Calculator’s Controller Class
- connections, Outlets and Connections, Making the Connections
- mouse
usage, Making the Connections
- outlet
connections, Making the Connections
- Connector
class, The @interface Directive, Destroying Objects
- Console, Utilities
- content
views, Views, The NSWindow Class, Responders and the NSResponder Chain
- control
objects, Targets, Actions, and Connections, Targets, Actions, and Connections
- Control Panels system, Mac OS X replacement
for, System Preferences
- control
symbol, Rich Text Syntax
- Controller
class, Building the Calculator’s Controller Class
- action
methods, adding
to, Adding the Unary Minus Function to the Controller Class
- autosizing, modification
for, Modifying the Controller Class
- Controller
class files, creating, Creating the Controller Class Files
- delegate,
specifying as, Specifying an Object’s Delegate
- design, Designing the Controller Class
- instantiating, Instantiating (Creating an Instance of) the Controller Class
- outlets and
actions, adding new, Modifying the Controller Class
- service, registering
as, Changes to Controller
- Controller.m
file, Adding the Delegate Method to the Controller
- displayX method, Modifying the Controller Class
- setRadix: method, Modifying the Controller Class
- controls, cells
and, Adding Controls in a Window
- NSCell
objects, Adding Controls in a Window
- NSControl
objects, Adding Controls in a Window
- convenience graphics
functions, Quartz Graphics Data Types
- copyToPasteboard:
method, Using the Pasteboard in GraphPaper
- copy:
method, Providing Data to the Pasteboard, Using the Pasteboard in GraphPaper
- Core
Foundation framework, inspecting defaults
with, Reading Values from the Defaults Database
- cover
(NSPopUpButton), Changes to MainMenu.nib
- Cox, Brad, Objects, Messages, and Targets
- CPU (central processing
unit), Mach
- creator
codes, Customizing the Document-Based Project Information in PB, Saving to a File
- registering, Registering Creator Codes
- crosshair cursor, Cursors
- curly braces ({
}), Rich Text Syntax
- cursors, Cursors
- conveying information
through movement, Tracking the Mouse
- cut,
copy, and paste system, Cut, Copy, and Paste with the Pasteboard, Testing GraphPaper’s Copy and Cut Commands
- cutting
data, Implementing the Cut Command
- cut:
method, Objects, Messages, and Targets, Action Messages and the NSResponder Chain, Providing Data to the Pasteboard
D
- daemon system user, Usernames and UIDs
- Darwin, Unix, Mach, and the Mac OS X Environment
- data
encapsulation, Objects and Classes
- data stuffer
methods, The Data Stuffer Methods
- data-storage
objects, Dictionaries
- dataForType: method, Providing Data to the Pasteboard, Providing Data Through Lazy Evaluation
- dataRepresentationOfType: method, Writing the Save Methods
- dataUsingEncoding:allowLossyConversion:
method, Creating the NSTextView Delegate
- dataWithEPSInsideRect:
method, Producing PDFs from NSView
- dataWithPDFInsideRect:
method, Producing PDFs from NSView
- deadlock
conditions, Unix Pipes and Evaluator
- dealloc
message, Destroying Objects
- dealloc
method, Destroying Objects, Finishing off the CalcWindow class implementation
- rules for use, autorelease and the NSAutoreleasePool Class
- debugging
programs (see gdb)
- declarations,
overridden methods, BarView: An NSView with a Scaled Coordinate System
- declareTypes:owner: method, Providing Data to the Pasteboard, Using the Pasteboard in GraphPaper
- defaults
command, Accessing the Defaults Database in a Terminal
- defaults
database, The Defaults System, Preferences and Defaults
- ASCII text
requirement, Accessing the Defaults Database with PropertyListEditor
- GraphPaper, using
with, Adding Defaults to GraphPaper, Reading Values from the Defaults Database
- NSUserDefaults
class, The NSUserDefaults Class
- PropertyListEditor, accessing
with, Accessing the Defaults Database with PropertyListEditor
- Terminal, accessing
with, Accessing the Defaults Database in a Terminal
- defaults domains, Defaults Domains
- standard
domains, Standard defaults domains
- defaults.h
file, Adding Defaults to GraphPaper
- delegate
messages, preparing to
receive, Adding the Delegate Method to the Controller
- delegates, Delegation
- outlet instance
variable for, Specifying an Object’s Delegate
- Should,
Will, and Did messages, Should, Will, and Did Delegates, Should, Will, and Did Delegates
- delegation, Delegation and Resizing, Modifying the Controller Class, Adding the Delegate Method to the Controller
- subclassing,
compared to, Should, Will, and Did Delegates
- designated
initializer, Finishing off the CalcWindow class implementation
- desktop, A Quick Look at the Mac OS X User Interface
- configuration, Configuring Your Desktop, Step by Step
- destination
image, Drawing Images with Quartz
- destroying
objects, Destroying Objects
- developer
tools, Developer Tools, Utilities
- Console, Utilities
- icns Browser, IconComposer and the icns Browser, Viewing Icons with the icns Browser Application
- IconComposer, IconComposer and the icns Browser, Creating Application Icon Files with IconComposer
- Interface
Builder (see IB)
- ObjectAlloc, ObjectAlloc
- ProcessViewer, Utilities, Seeing All the Processes
- Project
Builder (see PB)
- PropertyListEditor, PropertyListEditor, The Defaults System, Accessing the Defaults Database in a Terminal
- Terminal, Working with the Terminal, The Mac OS X Terminal Application, The Defaults System
- dialogs, A Quick Look at the Mac OS X User Interface, Dialogs, Dialogs
- Info
dialogs, Info Dialogs
- dictionaries, Dictionaries, Dictionaries
- Did
messages, Should, Will, and Did Delegates
- examples, Should, Will, and Did Delegates
- direct manipulation mouse action
paradigm, Mouse Action Paradigms
- directories,
hidden, Debugging Programs with gdb
- disabled
buttons, Accessing NSMatrix Cells with an NSArray Object
- disclosure
triangles, Menus and the Menu Bar, Disclosure Triangles, The Files in a Project
- display
lists, Connecting to the Back End, Implementing the Display List
- advantages, Why Use a Display List?
- extending, Extending the Display List
- implementing, Implementing the Display List, Implementing the Display List
- display method, Controlling Display and Redisplay
- displayIfNeeded method, Controlling Display and Redisplay
- displayRect: method, Controlling Display and Redisplay
- displayX
method, Modifying the Controller Class
- docEdited
flag, Marking a Document Window as Edited
- Dock, A Quick Look at the Mac OS X User Interface, The Dock, The Dock, Working with the Dock
- document modal
alerts, Alerts
- document modal
dialogs, Dialogs
- document
windows, Document Windows
- document-based
architecture, The MathPaper Application
- PB, customizing
in, Customizing the Document-Based Project Information in PB, Customizing the Document-Based Project Information in PB
- provided
functionality, Cocoa’s Document-Based Architecture
- docViews, The NSScrollView Class Revisited
- domains, Preferences and the Defaults Database System
- doStop: method, The Data Stuffer Methods
- double forward slash (//), as comment
delimiter, Tiny.m Revisited
- double-triangle
indicator, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- doUnaryMinus:
method, Using IB’s Read Files Commandwith a New Action Method
- drag-and-drop, Drag-and-Drop, Being a Drag-and-Drop Receiver
- file
operations, Moving and Copying Files
- GraphPaper, Drag-and-Drop, Being a Drag-and-Drop Receiver
- enabling
as source, Being a Drag-and-Drop Source
- as receiver of
colors, Being a Drag-and-Drop Receiver
- as receiver of
text, Being a Drag-and-Drop Receiver
- pasteboard
interrogation, Being a Drag-and-Drop Receiver
- receiving
events, Being a Drag-and-Drop Receiver
- dragging, The Mouse and Cursor, Timers
- draggingEntered:
method, Being a Drag-and-Drop Receiver
- draggingSourceOperationMaskForLocal:
method, Being a Drag-and-Drop Source
- draggingUpdated:
method, Being a Drag-and-Drop Receiver
- dragImage:at:offset:event:pasteboard:source:slideBack:
method, Being a Drag-and-Drop Source
- drawAtPoint:
method, Drawing Text with Quartz
- drawInRect:withAttributes:
method, Drawing Text with Quartz
- drawRect: method
- of GraphView class, Implementing the Display List
- drawRect:
method, Drawing with Quartz Inside a View Object, Adding Printing Capability, Drawing in an NSView with Quartz, The Advantages of NSView’s drawRect: Method, BlackView: An NSView That Paints Itself Black, PolygonView: A Non-Opaque NSView, Getting a Mouse-Down Event
- About panel
animation, Drawing in an NSView with Quartz
- advantages, The Advantages of NSView’s drawRect: Method
- drawing text, Drawing Text with Quartz
- invocation, The Advantages of NSView’s drawRect: Method
- mouse-down event, editing
for, Getting a Mouse-Down Event
- drawSelf
message, A Simple Class Example
- dynamic
binding, Objects, Messages, and Targets, The id Data Type
E
- Easter egg, Adding an Easter Egg
- Edit menu, Edit Menu
- ellipsis, Menus and the Menu Bar
- Emacs, The Tiny.m Program
- enabled
buttons, Accessing NSMatrix Cells with an NSArray Object
- Encapsulated
PostScript (EPS), Saving to PDF
- encapsulation, Objects and Classes
- encodeWithCoder:
method, Archiving MathPaper Documents
- end
method, The @interface Directive
- engineering
workstations, Unix
- enterDigit:
method, Adding Actions to the Controller, Setting Up Tags and Titles for the Keypad Buttons, The enterDigit: Action Method
- multi-base calculator, modification
for, Disabling Buttons for BetterMultiradix Input
- enterFlag instance
variable, The enterDigit: Action Method
- enterOp:
method, Adding Actions to the Controller, Adding the Four Calculator Functions
- Enterprise Objects Framework and
Java, Cocoa, Objective-C, and Java
- EPS (Encapsulated
PostScript), Saving to PDF
- Evaluator, The MathPaper Application, The Evaluator Back End, Building the Back End
- completed
processes, killing, Killing the Evaluator Processes
- GraphPaper, use
in, Connecting to the Back End
- Makefile,
creating, Building the Back End, Building the Back End
- rules.l
file, Building the Back End
- source,
adding to MathPaper, Making Evaluator a MathPaper Auxiliary Executable, Making Evaluator a MathPaper Auxiliary Executable
- event
handlers, Adding Actions to the Controller
- event loops, Tiny.m Revisited, The Main Event Loop
- events, The Mouse and Cursor, What Is an Event?
- event-handling
example, An Event-Handling Example Using TextEdit
- event-handling
methods, The NSEvent Object
- keyboard
event handling, Keyboard Event Handling
- mouse
event handling, Mouse Event Handling
- NSApplication
and, Events and the NSApplication Object
- NSResponder
methods, The NSEvent Object
- types
of, Events and the NSResponder Chain
- execv( )
function, Processes, Pipes, and Resources
F
- factory
methods, Objects and Classes, Creating and Initializing Objects
- fast
saves, Memory to Disk and Back
- field
editor, The NSScrollView and NSTextView Classes
- file
extensions, Saving to a File
- common Mac OS X extensions, Saving to a File
- file
handles, Working with Multiple Threads
- File menu, File Menu
- file
types
- codes, Customizing the Document-Based Project Information in PB
- file
wrappers, Writing the Save Methods
- files, Working with Files
- copying and
moving, Moving and Copying Files
- loading
from, Loading from a File, Loading from a File
- privileges,
setting, Getting Information About Files
- saving, Saving to a File, Advanced Save Panel Options
- viewing
information, Getting Information About Files
- filesystem
management, Working with the Filesystem,Step by Step, Filling and Emptying the Trash
- fileWrapperRepresentationOfType: method, Writing the Save Methods
- filter
services, Cocoa’s NSImage Class
- Find submenu, Find Submenu
- findButtons
method, Methods for searching for button titles
- Finder, What Makes Mac OS X So Special?, The Finder , Finder Preferences
- Finder
window, The Finder Window
- “Happy Mac” icon, A Quick Look at the Mac OS X User Interface
- hidden
directories, Debugging Programs with gdb
- menu
commands and operations, Working with the Filesystem,Step by Step, Filling and Emptying the Trash
- menu
structure, The Menu Structure
- preferences,
setting, Finder Preferences
- toolbar, The Toolbar
- utility windows and
dialogs, Support Windows and Dialogs
- viewing
options, The Finder’s Viewing Options
- First
Responder, Getting Started with Interface Builder, Using the Pasteboard in GraphPaper
- icon, Writing the Save Methods
- responding
objects, Writing the Save Methods
- firstResponder
id pointer, Responders and the NSResponder Chain
- flipping
views, Flipping
- folders, A Quick Look at the Mac OS X User Interface, Working with Folders
- Font submenu, Format and Font Menus
- fontDemo:
method, Formatting NSTextView Output
- fonts
(Rich Text), Using TextEdit to Explore RTF
- fontWithName:size:
method, Drawing Text with Quartz
- Force Quit Applications
utility, Forcing an Application to Quit
- fork( )
function, Processes, Pipes, and Resources
- forking
of processes, Processes, PIDs, and UIDs
- formal
protocol, Implementing the Display List
- Format
menu, Format and Font Menus
- formatBox
outlet, Creating an Accessory NSView
- formatMatrix
outlet, Creating an Accessory NSView
- Foundation classes, The Foundation Classes, Accessing NSMatrix Cells with an NSArray Object
- frame instance
variable, Rethinking MathDocument and PaperController
- frame
method, NSView Coordinate Systems
- FrameChangedNotification, The NSView Hierarchy
- frameRotation method, NSView Coordinate Systems
- “Frankenstein switch”
icon, Adding a Button Object to Your Window
- functions, in class implementation
files, Modifying the Controller Class
G
- gdb (GNU
debugger), Debugging Programs with gdb, gdb Commands, The Tiny.m Program
- directory
location, Debugging Programs with gdb
- generalPasteboard method, Providing Data to the Pasteboard
- getFormAndScaleView
method, Scaling the GraphView and the drawRect: Method, Changes to the TrackingGraphView Class Files
- global
variable, Tiny.m Revisited
- GNU Emacs, The Tiny.m Program
- gotData:
method, The Graph Displayer
- PaperController.m file, insertion
into, Getting Data from Evaluator
- grammar.y file,
adding to MathPaper, Making Evaluator a MathPaper Auxiliary Executable
- graphFormula:userData:error:
method, Changes to Controller
- graphical user
interface (see GUI)
- graphics
context, The Quartz Window Server
- flushing, Buffered, Retained, and Nonretained Windows
- graphics
functions, Quartz Graphics Data Types, Quartz Graphics Data Types
- GraphPaper application, GraphPaper: A Multithreaded Application with a Display List
- @class
directive, The Controller Class
- autosizing, Autosizing in GraphPaper
- building the
application, Building the GraphPaper Application, The Segment Class
- class implementation
file, The GraphView Class Implementation File
- class interface
file, The GraphView Class Interface File, The GraphView Class Interface File
- display list,
implementing, Implementing the Display List, Implementing the Display List
- Evaluator, changes
to, Changes to the Evaluator Back End
- interface, Building GraphPaper’s Interface
- NSForms and
NSFormCells, Building GraphPaper’s Interface
- outlets and action
methods, Building GraphPaper’s Interface
- settings, Building GraphPaper’s Interface
- color functions,
testing, Testing GraphPaper’s Color
- color
programming, Programming with Color, Adding Color to GraphPaper
- ColorGraphView
class, ColorGraphView, The ColorGraphView Class Implementation
- Controller
class, The Controller Class
- defaults, adding
to, Adding Defaults to GraphPaper, Reading Values from the Defaults Database
- default values, Adding Defaults to GraphPaper
- loading and
saving, Loading and Saving the Default Values
- reading of the
database, Reading Values from the Defaults Database, Reading Values from the Defaults Database
- design, GraphPaper’s Design
- drag-and-drop
- receiving
color changes, Being a Drag-and-Drop Receiver
- receiving
text, Being a Drag-and-Drop Receiver
- as source, Being a Drag-and-Drop Source
- Evaluator, use
of, Connecting to the Back End
- GraphView
class (see GraphView class)
- graphView method
declaration, The Controller Class
- interface, The Interface
- Label
class, The GraphView, Segment, and Label Classes
- mouse tracking,
adding, Adding Mouse Tracking to GraphPaper, Changes to the TrackingGraphView Class Files
- mouseEntered:, mouseExited:, and
mouseMoved: methods, in TrackingGraphView.m
file, Changes to the TrackingGraphView Class Files
- pasteboard
functions, Using the Pasteboard in GraphPaper, Testing GraphPaper’s Copy and Cut Commands
- PDF, saving graphic images
to, Saving to PDF, Changes to the Controller Class
- PrefController
class, Creating the Preferences Nib, Panel, and PrefController
- Preferences
panel, Making the Preferences Panel Work with Defaults, Loading and Saving the Default Values
- adding multi-view
capability, Setting Up a Multi-View Panel
- creating, Creating a Preferences Panel
- PrefController class, modifications
to, Changes to the PrefController Class
- Preferences.nib file,
editing, Modifying the Preferences Panel
- testing, Testing the Updated Preferences Panel
- Preferences.nib
file, Creating the Preferences Nib, Panel, and PrefController
- Save
Graph command, Changes to the Controller Class
- testing, Testing the Save Graph Menu Command, Testing the Save Graph Menu Command
- Segment
class, The GraphView, Segment, and Label Classes
- services
modifications, Modifications Required for GraphPaper to Implement Services
- stopping a running
graph, Stopping a Running Graph
- stuffer
process, Unix Pipes and Evaluator
- testing, Testing GraphPaper
- TIFF, PDF conversion
to, Saving to TIFF
- TrackingGraphView class, file
modifications, Changes to the TrackingGraphView Class Files
- zoom
buttons, Adding a Zoom Button to GraphPaper, Testing the Zoom Button
- testing, Testing the Zoom Button
- ZoomScrollView class,
creating, Changes to MainMenu.nib
- GraphView class, Implementing the Display List, The GraphView, Segment, and Label Classes
- axes,
adding, Adding Axes
- ColorGraphView
subclass, Adding Color to GraphPaper
- data stuffer
methods, The Data Stuffer Methods
- defaults
system and, Adding Defaults to GraphPaper
- registering, Registering the Default Values
- display
list, Why Use a Display List?
- extending, Extending the Display List
- drag-and-drop, modification
for, Being a Drag-and-Drop Source
- drawRect:
method, Scaling the GraphView and the drawRect: Method
- initWithFrame:
method, The initWithFrame: Method
- isOpaque
method, Scaling the GraphView and the drawRect: Method
- labeling,
adding, Adding Labeling
- Quartz and
NSView, use of, Scaling the GraphView and the drawRect: Method
- Segment class
and, The Segment Class
- service, running
as, Modification of GraphView
- GraphViewElement
protocol, Implementing the Display List
- methods, Implementing the Display List
- graph:
method, Building GraphPaper’s Interface, The Data Stuffer Methods
- grep, Working in a Unix Shell, Step by Step
- groups, Rich Text Syntax
- GUI (graphical user
interface), Understanding theAqua Interface
- (see also Aqua)
H
- handles, Adding a Button Object to Your Window
- header files, Tiny.m Revisited
- headers,
precompilation, Tiny.m Revisited
- HFS (Hierarchical File
System), Working in a Unix Shell, Step by Step
- hidden
directories, Debugging Programs with gdb
- hide:
message, Targets, Actions, and Connections
- history instance
variable, Rethinking MathDocument and PaperController
- hit
detection, Getting a Mouse-Down Event
- hitTest:
method, Mouse Event Handling, Opaque and Nonrectangular Views
- Home folder, The Finder’s Viewing Options
- horizontal scroller, The NSScrollView and NSTextView Classes
- hot spot, Cursors
- HSB color
model, Colors and Color Objects
- hung
application, Forcing an Application to Quit
I
- IB
(Interface Builder), What Makes Mac OS X So Special?, Interface Builder
- accessory views, support
for, Creating an Accessory NSView, Changes to the Controller Class
- applications, creating
with, Creating a Simple Application with Interface Builder, Inspecting and Changing Your Button’s Attributes
- Calculator
application, Getting Started: Building the Calculator Project, Building the Calculator’s User Interface
- Classes -> Read Files menu
command, Using IB’s Read Files Commandwith a New Action Method
- Controller class, adding new
definitions, Modifying the Controller Class
- delegate
specification, Setting Up a Delegate Outlet in the Nib
- fonts, setting, Setting Up Tags and Titles for the Keypad Buttons
- icon, Creating a Simple Application with Interface Builder
- MainMenu.nib
file, Getting Started: Building the Calculator Project
- Nib File
window (see Nib File
window)
- NSMatrix dragging
options, NSMatrix Dragging Options in IB
- NSWindow class,
subclassing, Subclassing the NSWindow Class
- NSWindow Info
dialog, Customizing the Main Window
- objects, adding to
applications, Adding Objects to Your Application, Inspecting and Changing Your Button’s Attributes
- opening
screen, Getting Started with Interface Builder
- Palettes
window, Adding a Button Object to Your Window, Adding Controls in a Window
- Test Interface
mode, Adding a Button Object to Your Window
- window
drawing choices, Buffered, Retained, and Nonretained Windows
- IBAction keyword, Adding Code to Make the Controller Class Work
- IBOutlet
keyword, Adding Code to Make the Controller Class Work
- icns Browser, IconComposer and the icns Browser, Viewing Icons with the icns Browser Application
- .icns file
extension, Viewing Icons with the icns Browser Application
- IconComposer, IconComposer and the icns Browser, Creating Application Icon Files with IconComposer
- icons, A Quick Look at the Mac OS X User Interface, Adding Icons to Applications, Making the New Icon Appear in the About Box
- available
resolutions, Icons for MathPaper
- generic system
icon, Getting Started with Interface Builder
- icns Browser, viewing
with, Viewing Icons with the icns Browser Application
- icon
badge, Adding Icons to Applications
- image files, using
for, Creating Application Icon Files with IconComposer
- MathPaper, creating
for, Icons for MathPaper
- id data
type, The id Data Type
- id
pointer, Objects and Classes
- IDE (integrated development environment), Project
Builder, Project Builder
- image files, using for
icons, Creating Application Icon Files with IconComposer
- image
well, Color Wells and Image Wells
- images, drawing with
Quartz, Drawing Images with Quartz, Drawing Images with Quartz
- immutable
strings, NSString, NSMutableString, and NSLog
- Info
dialogs, A Quick Look at the Mac OS X User Interface, Info Dialogs
- Info.plist
file, Creating Your Own Service, Creating the Services Advertisement
- XML property list
verification, Creating the Services Advertisement
- InfoPlist.strings
file, Changing the Strings in the About Box
- inheritance, The @interface Directive
- init
method, Creating and Initializing Objects
- init
process, Processes, PIDs, and UIDs
- initFrame:
method, PolygonView: A Non-Opaque NSView
- +initialize
method, Adding Defaults to GraphPaper
- initRect:text:size:
method, Adding Labeling
- initWithCoder:
method, Modifying the Controller Class, Loading from a File
- initWithContentRect:styleMask:backing:defer:
method, Windows, Views, Delegates, and the setup( ) Function, Finishing off the CalcWindow class implementation
- initWithFrame:
method, BarView: An NSView with a Scaled Coordinate System, The initWithFrame: Method, Setting the Initial Color, Changes to the TrackingGraphView Class Files, Changes to ZoomScrollView
- mouse-down event, editing
for, Getting a Mouse-Down Event
- initX:Y:radius:
initializer, Creating and Initializing Objects
- inline
functions, Quartz Graphics Data Types
- inLiveResize method, Resizing
- input
fields, Text Fields and Scrolling Lists
- inspectors, Info Dialogs
- instance
methods, Objects and Classes, The @interface Directive
- instance
variables, Objects and Classes
- initialization, Modifying the Controller Class
- scope, The enterDigit: Action Method
- instances, Objects and Classes
- integrated
development environment (IDE), Project
Builder, Project Builder
- interactive systems, development
of, History of the Video Display Terminal
- Interface
Builder (see IB)
- introspection, The id Data Type
- isDescendantOf: method, The NSView Hierarchy
- isFlipped method, Flipping
- isOpaque method, Opaque and Nonrectangular Views, BarView: An NSView with a Scaled Coordinate System, PolygonView: A Non-Opaque NSView
- isRotatedFromBase method, NSView Coordinate Systems
- isRotatedOrScaledFromBase method, NSView Coordinate Systems
K
- key
window, Window Types and Behavior, Main and Key Windows
- keyboard
equivalents, Menus and the Menu Bar, Menu Guidelines and Keyboard Equivalents
- Application
menu, Application Menu
- Edit menu, Edit Menu
- File
menu, File Menu
- Find
submenu, Find Submenu
- Font
submenu, Format and Font Menus
- Window
menu, Window Menu
- keyboard event
handling, Keyboard Event Handling
- keyDown:
message, Keyboard Event Handling, Finishing off the CalcWindow class implementation
- keyPad
outlet, Accessing NSMatrix Cells with an NSArray Object
- keyTable
instance variable, Methods for searching for button titles
- keyWindow id
pointer, Responders and the NSResponder Chain
L
- Label class, Adding Labeling, The GraphView, Segment, and Label Classes
- dealloc method, Adding Labeling
- using, Using the Label Class
- lazy
evaluation, Cut, Copy, and Paste with the Pasteboard, Providing Data Through Lazy Evaluation
- length
method, The @implementation Directive
- lex, lex and yacc
- lex.yy.c
file, lex and yacc
- lexical
analysis, The Evaluator Back End
- loadDataRepresentation:ofType: method, Writing the Save Methods, Loading from a File
- loadFileWrapperRepresentation:wrapper ofType: method, Writing the Save Methods
- loading from a file
(MathPaper), Loading from a File, Loading from a File
- loadNibNamed:owner:
method, Modifying the Controller Class
- lockFocus
method, Drawing in an NSView with Quartz
- locking
classes, Locking with NSLock
- locks, Locking with NSLock
- ltob( ) function, Modifying the Controller Class
M
- .m file extension, The Tiny.m Program
- Mac OS X, Mac OS X and Cocoa Components, What Makes Mac OS X So Special?, Unix, Mach, and the Mac OS X Environment
- applications, About
box, Changing the Strings in the About Box
- common file extensions, Saving to a File
- defaults
database, Preferences and Defaults
- defaults
domains, Defaults Domains
- desktop
configuration, Configuring Your Desktop, Step by Step
- developer tools, Developer Tools, Utilities
- development
environment, What Makes Mac OS X So Special?
- Dock, The Dock, The Dock
- Finder (see Finder)
- GUI, Acknowledgments, Understanding theAqua Interface
- (see also Aqua)
- hidden directories, Debugging Programs with gdb
- imaging model, What Makes Mac OS X So Special?
- keyboard
commands, Consistent Aqua
- Mac OS
9 applications and, Mac OS X and Classic Mode, The Toolbox, Carbon, and Cocoa
- main thread, Launching Threads with NSThread
- online
documentation, Online Documentation
- preferences, Preferences and the Defaults Database System
- Terminal (see Terminal
application)
- Version 10.1 AppKit
display bugs, Controlling Display and Redisplay
- Window
Server, The Window Server and Quartz, The Application Kit and the Window Server
- Mach operating
system, Mach, Processes, PIDs, and UIDs
- messages, Mach
- process
numbers, Processes, PIDs, and UIDs
- mach_init Unix
process, Seeing All the Processes
- Macintosh
Toolbox, The Toolbox, Carbon, and Cocoa
- mailing
lists, Mailing Lists
- main event
loop, The Main Event Loop
- main
thread, Launching Threads with NSThread
- main
window, Window Types and Behavior, Main and Key Windows
- main( )
function, Tiny.m Revisited, The main.m Program File Generated by PB, The Event Loop
- main.m
file, The main.m Program File Generated by PB, The Event Loop
- MainBundle
directory, Preferences and Defaults
- MainMenu.nib
file, Getting Started: Building the Calculator Project
- customizing, Customizing MainMenu.nib, Changing the Strings in the About Box
- delegate
specification, Setting Up a Delegate Outlet in the Nib
- for MathPaper, Building MathPaper’s Front End
- memory
resources and, Managing Multiple Nibs
- modifying, Modifying the Main Calculator Nib
- Makefile, Building the Back End, Building the Back End
- tab
characters and spaces
in, Building the Back End
- makeFirst
Responder: message, An Event-Handling Example Using TextEdit
- makeKeyAndOrderFront:
message, Views
- makeWindowControllers
method, MathDocument Class Modifications, Rethinking MathDocument and PaperController
- man ps
command, Seeing All the Processes
- managing
files, Working with the Filesystem,Step by Step, Filling and Emptying the Trash
- MathAnimation view,
creating, Creating the MathAnimation View, Creating the MathAnimation View, Putting It All Together, Putting It All Together
- MathAnimation.h
file, adding instance variables to, Putting It All Together
- MathAnimation.m
file, Putting It All Together, Putting It All Together
- MathApplication
class, Implementing the About Panel in MathPaper
- MathDocument
class, The MathPaper Application, The MathDocument Class, The MathDocument Class
- data to be
saved, Synchronizing PaperController with MathDocument
- MathDocument.h file,
editing, The MathDocument Class
- PaperController, modification
for, MathDocument Class Modifications
- MathPaper
application, MathPaper and Cocoa’sDocument-Based Architecture, Processes, Pipes, and Resources
- About
panel animation, Implementing the About Panel in MathPaper
- animation, initialization
logic, Putting It All Together
- back
end (Evaluator), The Evaluator Back End
- “Can’t create
new document” alert, Testing MathPaper’s Document-Based Architecture
- cleanup, Killing the Evaluator Processes
- document icons,
creating, Icons for MathPaper
- document windows, marking as
edited, Marking a Document Window as Edited
- document-based architecture,
testing, Testing MathPaper’s Document-Based Architecture
- document-based information,
customizing, Customizing the Document-Based Project Information in PB
- documents,
archiving, Archiving MathPaper Documents
- Easter
egg, adding to, Adding an Easter Egg
- Evaluator source code, adding
to, Making Evaluator a MathPaper Auxiliary Executable, Making Evaluator a MathPaper Auxiliary Executable
- file type and
extension, Saving to a File
- files and folders, Setting Up the MathPaper Project
- changing names
of, Changing the Names of MathPaper Project Files, Changing the Names of MathPaper Project Files
- first responder, order of responding
objects, Writing the Save Methods
- grammar.y and rules.l files, addition
to, Making Evaluator a MathPaper Auxiliary Executable
- instance variables and accessor
methods, adding to, Rethinking MathDocument and PaperController, Rethinking MathDocument and PaperController
- loading from a
file, Loading from a File, Loading from a File
- MainMenu.nib
file, The MainMenu.nib File, The MainMenu.nib File
- File menu items, The MainMenu.nib File
- MathAnimation view,
creating, Creating the MathAnimation View, Creating the MathAnimation View, Putting It All Together, Putting It All Together
- nibs, Building MathPaper’s Front End
- PaperController, windows information
in, Rethinking MathDocument and PaperController
- PaperWindow.nib
file, Setting Up PaperWindow.nib, Setting Up PaperWindow.nib
- PB, project creation
with, Setting Up the MathPaper Project, Setting Up the MathPaper Project
- printing capability, adding
to, Adding Printing Capability
- RTF class,
integrating, Integrating Our RTF Class into MathPaper, Integrating Our RTF Class into MathPaper
- save
features, testing, Testing the Save Features
- saved windows and screen
resolution, Loading from a File
- saving to a
file, Icons for MathPaper, Advanced Save Panel Options
- saving
window data to
files, Synchronizing PaperController with MathDocument
- target
dependency, Making Evaluator a MathPaper Auxiliary Executable
- window
management, Cocoa’s Document-Based Architecture
- window
titles, Giving Proper Titles to MathPaper Windows
- MATP and
.matp, Saving to a File
- memory initialization and allocation
(Objective-C), Creating and Initializing Objects
- freeing
memory, Destroying Objects
- memory leaks, causes
of, The @implementation Directive
- memory
management, ObjectAlloc, autorelease and the NSAutoreleasePool Class
- memory
protection, Operating Systems
- menu bar, Menus and the Menu Bar
- menus, Menus and the Menu Bar, Services Submenu
- choices, shorthand
for, Conventions Used in This Book
- combination
boxes, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- Finder, The Menu Structure
- length, User Interface Design
- pop-up
menus, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- message
expression, Methods and Messaging
- messages, Methods and Messaging
- C-language function
calls, compared to, Methods and Messaging
- methods,
contrasted
with, Methods and Messaging
- Objective-C, Objects, Messages, and Targets
- messaging
operators, Objects and Classes
- methods, Methods and Messaging
- (see also accessor
methods; action methods; entries under individual
methods)
- class
methods, The +alloc Method and the NSObject Root Class
- factory
methods, Objects and Classes, Creating and Initializing Objects
- instance
methods, Objects and Classes, The @interface Directive
- messages,
contrasted with, Methods and Messaging
- Objective-C, Objects, Messages, and Targets
- modal
sessions, Pasteboards, Services, Modal Sessions, and Drag-and-Drop, Modifications Required for GraphPaper to Implement Services, Changes to Controller
- modal tool selection, Mouse Action Paradigms
- modeless dialogs, Dialogs
- Motorola/IBM PowerPC
microprocessor, Mach
- mouse action
paradigms, Mouse Action Paradigms
- mouse
events, The Mouse and Cursor
- dragging, The Mouse and Cursor
- handling, Mouse Event Handling
- order of
difficulty, Tracking Rectangles
- pressing, The Mouse and Cursor
- via responder
chain, Tracking Rectangles
- tracking, Tracking the Mouse, Adding Mouse Tracking to GraphPaper, Changes to the TrackingGraphView Class Files
- rectangles, Tracking Rectangles
- types, Mouse Event Handling
- mouse-to-focus, The Finder’s Viewing Options
- mouseDown:
method, Responders and the NSResponder Chain, Mouse Event Handling, Getting a Mouse-Down Event
- mouseDragged:
method, Mouse Event Handling, Being a Drag-and-Drop Source
- mouseEntered:
method, Mouse Event Handling
- mouseExited:
method, Mouse Event Handling
- mouseMoved:
method, Mouse Event Handling
- mouseUp:
method, Mouse Event Handling
- multi-view
windows, Multi-View Windows
- mutually
exclusive (mutex) lock, Locking with NSLock
- [myView drawRect:] message, Drawing with Quartz Inside a View Object
N
- needsDisplay method, Controlling Display and Redisplay
- NetInfo (network
administrative information) system, Usernames and UIDs
- newDocument:
method, Rethinking MathDocument and PaperController
- NeXT Interface Builder, Building the Calculator’s User Interface
- nextEventMatchingMask:untilDate:inMode:dequeue:
method, The Main Event Loop
- nextResponder
instance variable, Responders and the NSResponder Chain
- NeXTSTEP
operating system, Object-Oriented Programming, Objects and Classes, Mach
- nib, Getting Started with Interface Builder
- Nib
File window, Getting Started with Interface Builder, Getting Started with Interface Builder
- Classes
tab, Getting Started with Interface Builder
- First
Responder, Getting Started with Interface Builder
- Images
tab, Getting Started with Interface Builder
- Instances
tab, Getting Started with Interface Builder
- Sounds
tab, Getting Started with Interface Builder
- nib
files, Building the Calculator’s User Interface
- managing
multiple, Managing Multiple Nibs
- nonretained
windows, Buffered, Retained, and Nonretained Windows
- notification
system, Modifying the Controller Class, Creating PaperController, a Subclass of NSWindowController, Getting Data from Evaluator, Putting It All Together
- “NS”
prefix, Objects and Classes
- NSActionCell
class, Action Messages and the NSResponder Chain
- NSApp delegate, The Controller Class
- NSApp
object, Tiny.m Revisited
- main event
loop, The Main Event Loop
- [NSApp terminate:self]
message, Targets, Actions, and Connections
- NSApplication
class, Tiny.m Revisited
- Controller instance, delegate
specification, Setting Up a Delegate Outlet in the Nib
- event
handling, Events and the NSApplication Object
- MathApplication
subclass, Implementing the About Panel in MathPaper
- NSApplicationIcon system
icon, Getting Started with Interface Builder
- NSApplicationMain( )
function, The main.m Program File Generated by PB
- NSApplicationNotifications
category, Adding the Delegate Method to the Controller
- NSArray class, Accessing NSMatrix Cells with an NSArray Object
- NSAssert( )
macro, Changes to ZoomScrollView
- NSAttributedString
class, Creating an RTF Class
- NSAutoreleasePool
class, autorelease and the NSAutoreleasePool Class, autorelease and the NSAutoreleasePool Class
- NSBezierPath
class, Drawing with Quartz Inside a View Object
- NSBundle class, Modifying the Controller Class
- NSCell
objects, Adding Controls in a Window
- NSCell subclasses, Adding Controls in a Window
- NSClipView class, The NSScrollView and NSTextView Classes
- NSCoder class, Archiving MathPaper Documents
- common methods, Archiving MathPaper Documents
- NSColor class, Setting Colors, Drawing Rectangles, and Drawing Lines, Colors from a Programmer’s Point of View
- NSColorPanel.h
file, The ColorGraphView Class Implementation
- NSColorWell.h
file, The ColorGraphView Class Implementation
- NSControl
objects, Adding Controls in a Window
- NSControl
subclasses, Adding Controls in a Window
- NSDictionary
class, Dictionaries
- NSDocument
class
- data management
with, Data Management with NSDocument, Rethinking MathDocument and PaperController
- MathDocument
subclass, The MathPaper Application, The MathDocument Class, The MathDocument Class
- save
methods, Writing the Save Methods
- NSDocumentController
class, Rethinking MathDocument and PaperController
- File menu action
methods, Rethinking MathDocument and PaperController
- NSDraggingDestination
methods, Being a Drag-and-Drop Receiver
- NSEvent class, The NSEvent Object
- NSFileHandle
class, Processes, Pipes, and Resources
- NSFileHandleReadCompletionNotification
message, Creating PaperController, a Subclass of NSWindowController
- NSFont
class, Formatting NSTextView Output
- NSFontAttributeName
key, Drawing Text with Quartz
- NSGeometry.h
file, Quartz Graphics Data Types
- NSHumanReadableCopyright
string, Changing the Strings in the About Box
- NSImage class, Cocoa’s NSImage Class , Drawing Images with Quartz
- NSLayoutManager
class, The NSScrollView and NSTextView Classes
- NSLock class, Locking with NSLock
- NSMakeRange( )
function, Formatting NSTextView Output
- NSMatrix class, Adding Controls in a Window
- sizing and
dragging, NSMatrix Dragging Options in IB
- NSMutableArray
class, Accessing NSMatrix Cells with an NSArray Object, Connecting to the Back End
- NSMutableAttributedString
class, Creating an RTF Class
- NSMutableDictionary
class, Dictionaries
- for drawing
fonts, Drawing Text with Quartz
- setObject:forKey:
method, Methods for searching for button titles
- NSMutableString
class, NSString, NSMutableString, and NSLog
- NSObject
class, The +alloc Method and the NSObject Root Class, Delegation
- RTF class,
creating, Creating an RTF Class, Creating an RTF Class
- NSPasteboard
class, Cut, Copy, and Paste with the Pasteboard, Testing GraphPaper’s Copy and Cut Commands
- NSPipe
class, Processes, Pipes, and Resources
- NSPoint structure, Quartz Graphics Data Types
- NSPopUpButton
class, Handling Different Bases, Changes to MainMenu.nib
- cover, Changes to MainMenu.nib
- NSRange class, Formatting NSTextView Output
- NSRectFill( )
function, Drawing with Quartz Inside a View Object
- NSRegisterServicesProvider( )
function, Creating Your Own Service
- NSResponder
class
- chain and action
messages, Action Messages and the NSResponder Chain
- event
methods, The NSEvent Object, Responders and the NSResponder Chain
- NSScrollView class, The NSScrollView Class Revisited
- embedded
classes, The NSScrollView and NSTextView Classes
- ZoomScrollView
subclass, The NSScrollView Class Revisited
- NSSimpleHorizontalTypesetter
class, The NSScrollView and NSTextView Classes
- NSSize
structure, Quartz Graphics Data Types
- NSString class, NSString, NSMutableString, and NSLog
- using autorelease
pool, autorelease and the NSAutoreleasePool Class
- NSStringDrawing
category, Drawing Text with Quartz
- NSTask
class, Processes, Pipes, and Resources
- NSText class, The NSScrollView and NSTextView Classes
- font
manipulation, Rich Text Format, Formatting NSTextView Output
- NSTextContainer
class, The NSScrollView and NSTextView Classes
- NSTextField
class, Adding Controls in a Window
- Size Info
dialog, Modifying the Calculator’s Interface
- NSTextStorage class, The NSScrollView and NSTextView Classes
- NSTextView
class, The NSScrollView and NSTextView Classes
- delegate
methods, NSTextView Class Basics
- creating, Creating the NSTextView Delegate
- send and
return types, How Services Work
- uses, NSTextView Class Basics
- NSThread class, Launching Threads with NSThread
- NSTimer class, Adding and Removing Timers
- NSTrackingRectTag class, Tracking Rectangles
- NSUserDefaults
class, The NSUserDefaults Class
- thread-safety, lack
of, Adding Defaults to GraphPaper
- NSView class, Tiny.m Revisited, The NSView Class, The NSView Class, A Closer Look at the NSView Class, Getting a Mouse-Down Event
- accessory
views, Creating an Accessory NSView, Changes to the Controller Class
- BarView subclass,
creating, BarView: An NSView with a Scaled Coordinate System, BarView: An NSView with a Scaled Coordinate System
- common instance methods, The NSView Class
- coordinate
systems, NSView Coordinate Systems
- flipped views and other operating
systems, Flipping
- methods, for inspections and
change, NSView Coordinate Systems
- dataWithEPSInsideRect:
message, Producing PDFs from NSView
- dataWithPDFInsideRect:
message, Producing PDFs from NSView
- drawing
techniques, Drawing in an NSView with Quartz
- events,
responding to, Responding to Events in an NSView
- NSScrollView,
placing inside, Placing an NSView Inside an NSScrollView
- PolygonView subclass,
creating, PolygonView: A Non-Opaque NSView, PolygonView: A Non-Opaque NSView
- size,
changing, Changing the PolygonView’s Size, Changing the PolygonView’s Size
- resizing, Resizing
- Size Info
dialog, Modifying the Calculator’s Interface
- view
hierarchy, The NSView Hierarchy
- views (see views)
- window position
methods, NSView Coordinate Systems
- NSView.h
file, Tiny.m Revisited
- NSWindow
class, Objects and Classes, Tiny.m Revisited, The NSWindow Class, The NSWindow Class
- common instance methods, The NSWindow Class
- defaults
and, Adding Defaults to GraphPaper
- designated
initializer, Finishing off the CalcWindow class implementation
- docEdited flag instance
variable, Marking a Document Window as Edited
- subclassing, Subclassing the NSWindow Class, Subclassing the NSWindow Class
- NSWindow Info
dialog, Customizing the Main Window
- NSWindowController
class
- PaperController
subclass, The MathPaper Application
- creating, Creating PaperController, a Subclass of NSWindowController, Creating PaperController, a Subclass of NSWindowController
- window
titles, Giving Proper Titles to MathPaper Windows
O
- Object
class, Creating the Controller Class
- object-oriented
programming, Object-Oriented Programming
- ObjectAlloc, ObjectAlloc
- objectForKey:
message, Finishing off the CalcWindow class implementation
- Objective-C, Object-Oriented Programming, Objects, Messages, and Targets, Objects and Classes, An Introduction to Objective-C, The #import Directive
- #import
directive, The #import Directive
- @interface
directive, The @interface Directive
- classes, Objects and Classes
- example, A Simple Class Example
- initialization, Creating and Initializing Objects
- colon,
use in messages, Targets, Actions, and Connections
- Controller
class, Building the Calculator’s Controller Class
- essential
elements, Objects and Classes
- Java,
compared
to, Cocoa, Objective-C, and Java
- memory
initialization and allocation, Creating and Initializing Objects
- freeing
memory, Destroying Objects
- memory
management, Cocoa, Objective-C, and Java
- messages, Methods and Messaging
- messaging
operators, Objects and Classes
- methods, Methods and Messaging
- object
pointers, Objects and Classes
- objects, Objects, Messages, and Targets, Objects and Classes
- public
variables, The NSView Class
- runtime
speed, The id Data Type
- strong
typing, Modifying the Controller Class
- variables,
initialization, Modifying the Controller Class
- objects, Object-Oriented Programming, Interface Builder, Objects, Messages, and Targets, Objects and Classes
- adding to
applications, Adding Objects to Your Application, Inspecting and Changing Your Button’s Attributes
- destroying, Destroying Objects
- okay:
method, Changes to the PrefController Class
- oldRadix
variable, Modifying the Controller Class
- OmniGraffle, Users and Pasteboards
- opaqueAncestor method, Opaque and Nonrectangular Views
- openDocument:
method, Rethinking MathDocument and PaperController
- OpenStep
operating system, Mach
- orderFrontStandardAboutPanel: method, Changing the Application Menu, Implementing the About Panel in MathPaper
- outlet
connections, Making the Connections
- outlets, Outlets and Connections
- adding to a
class, Adding Outlets to an Object, Modifying the Controller Class
- overridden methods,
declaring, BarView: An NSView with a Scaled Coordinate System
- owner:self
clause, Creating the About Box Nib
P
- paging, Mach
- Palettes
window, Adding a Button Object to Your Window, Adding Controls in a Window
- panel, Changing the Application Menu
- panes, Multi-View Windows
- Pantone colors, Colors and Color Objects
- PaperController
class, The MathPaper Application
- cleanup
code, Creating PaperController, a Subclass of NSWindowController
- creating, Creating PaperController, a Subclass of NSWindowController, Creating PaperController, a Subclass of NSWindowController
- instance variables, adding
to, Creating PaperController, a Subclass of NSWindowController
- MathDocument, synchronization
with, Synchronizing PaperController with MathDocument
- MathPaper, modification
for, PaperController Class Modifications
- synchronizeData
method, Synchronizing PaperController with MathDocument
- PaperWindow.nib file, Building MathPaper’s Front End, Setting Up PaperWindow.nib, Setting Up PaperWindow.nib
- parser, The Evaluator Back End
- pasteboard data
types, Providing Data to the Pasteboard
- pasteboard
functions (cut, copy, and paste), Cut, Copy, and Paste with the Pasteboard, Testing GraphPaper’s Copy and Cut Commands
- cutting
data, Implementing the Cut Command
- lazy
evaluation, Providing Data Through Lazy Evaluation
- transparency
of, Users and Pasteboards
- types
message, Providing Data Through Lazy Evaluation
- types of
pasteboards, Types of Pasteboards
- pasteboardWithName: method, Providing Data to the Pasteboard
- pasteboard:provideDataForType:
method, Providing Data Through Lazy Evaluation
- paste:
method, Providing Data to the Pasteboard
- PB (Project
Builder), Project Builder
- action
buttons, Getting Started: Building the Calculator Project
- action methods,
adding, Using IB’s Read Files Commandwith a New Action Method
- application template interface,
customizing, Changing the Application Menu
- Calculator
application, Getting Started: Building the Calculator Project
- class browser,
accessing, The NSWindow Class
- creator code
settings, Customizing the Document-Based Project Information in PB
- debug
buttons, Getting Started: Building the Calculator Project
- document
type settings, Customizing the Document-Based Project Information in PB
- document-based project information,
customizing, Customizing the Document-Based Project Information in PB
- filenames,
viewing, Getting Started: Building the Calculator Project
- generated
files, Other PB-Generated Files
- icon, Creating a Simple Application with Interface Builder
- images,
assigning to icons, Changing Calculator’s Application Icon
- main
window, Getting Started: Building the Calculator Project
- main.m
file, The main.m Program File Generated by PB
- MathPaper
project, Setting Up the MathPaper Project, Setting Up the MathPaper Project
- inclusion of Evaluator
source, Making Evaluator a MathPaper Auxiliary Executable
- programs, compiling
from, Compiling and Running a Program from PB
- error
messages, Compiler Error Messages
- project
files, The Files in a Project
- Services advertisements, XML
editing, Creating the Services Advertisement
- tabbed
views, Getting Started: Building the Calculator Project
- PDF (Portable Document
Format), What Makes Mac OS X So Special?, Saving to PDF
- saving graphic images
to, Saving to PDF, Changes to the Controller Class
- TIFF, conversion
to, Saving to TIFF
- PDFForView:
method, Changes to the Controller Class
- pencil cursor, Cursors
- performClick:
message, Finishing off the CalcWindow class implementation
- performClose:
message, Changing the Application Menu
- performDragOperation:
method, Being a Drag-and-Drop Receiver
- performKeyEquivalent:
message, Keyboard Event Handling
- persistent
domains, Persistent versus volatile defaults
- PID
(process identifier), Processes, PIDs, and UIDs
- pipe
(\|), Working in a Unix Shell, Step by Step
- pipes
(Unix)
- communication and, Processes, Pipes, and Resources
- Evaluator and, Unix Pipes and Evaluator
- pixels, Cursors
- plists (property
lists), PropertyListEditor, Changing the Strings in the About Box
- files,
editing, Accessing the Defaults Database with PropertyListEditor
- plus sign (+), in method
names, The +alloc Method and the NSObject Root Class
- point-to-focus, The Finder’s Viewing Options
- PolygonView
class, PolygonView: A Non-Opaque NSView, PolygonView: A Non-Opaque NSView
- mouse-down
events, Getting a Mouse-Down Event
- size,
changing, Changing the PolygonView’s Size, Changing the PolygonView’s Size
- pop-up
menus, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- Portable Document
Format (see PDF)
- PostScript, Saving to PDF
- PrefController
class, Adding Color to GraphPaper, Creating the Preferences Nib, Panel, and PrefController
- implementation, PrefController Class Implementation
- preferences, Finder Preferences, System Preferences, Preferences and the Defaults Database System
- Finder,
setting, Finder Preferences
- operating
system, System Preferences, System Preferences
- running
application, risks of changing in, Accessing the Defaults Database with PropertyListEditor
- Preferences
panel, Creating a Preferences Panel
- Preferences.nib
file, Creating the Preferences Nib, Panel, and PrefController
- printing, Adding Printing Capability
- print:
method, Adding Printing Capability
- privileges,
files, Getting Information About Files
- process identifier (PID), Processes, PIDs, and UIDs
- processes, Mach
- ProcessViewer, Utilities, Seeing All the Processes
- programs,
compiling, Compiling and Running a Program, Compiler Error Messages
- Project
Builder (see PB)
- property
lists (see plists)
- PropertyListEditor, PropertyListEditor, The Defaults System, Accessing the Defaults Database with PropertyListEditor
- proxy (file)
icon, Document Windows
- proxy
object, Creating the About Box Nib
- ps
command, Seeing All the Processes
- commonly listed processes, Seeing All the Processes
- man ps, Seeing All the Processes
- output fields, Seeing All the Processes
- ps aux, Working in a Unix Shell, Step by Step
- public
variables, The NSView Class
- push
buttons, Push buttons
Q
- Quartz, Drawing with Quartz
- drawing
inside a view object, Drawing with Quartz Inside a View Object
- drawing
text, Drawing Text with Quartz, Drawing Text with Quartz
- graphics
context, The Quartz Window Server
- graphics
data types, Quartz Graphics Data Types
- imaging
model, What Makes Mac OS X So Special?
- NSMutableDictionary
for drawing fonts, Drawing Text with Quartz
- NSView drawing
methods, Drawing in an NSView with Quartz
- PDF files, support
of, Drawing with Quartz
- Window
Server, The Quartz Window Server, Drawing in an NSView with Quartz
R
- radio
buttons, Radio buttons and checkboxes, Handling Different Bases
- radix, Delegation and Resizing
- RAM
(random-access memory), Mach
- readSelectionFromPasteboard:
method, How Services Work
- receiver, Methods and Messaging
- release
message, Destroying Objects
- rules for
use, autorelease and the NSAutoreleasePool Class
- release
method, Destroying Objects, autorelease and the NSAutoreleasePool Class
- removeAnnotations
method, Changes to the TrackingGraphView Class Files
- replaceSubview:with: method, The NSView Hierarchy
- resignFirstResponder
message, An Event-Handling Example Using TextEdit
- resizeSubviewsWithOldSize: method, Resizing
- resizing
windows, Resizing Windows Programmatically, Modifying the Controller Class
- responder, Getting Started with Interface Builder
- responder
chain, Responders and the NSResponder Chain
- action
messages and, Action Messages and the NSResponder Chain
- respondsTo
Selector: message, Delegation
- retain
message, Destroying Objects
- reference count
incrementation, Destroying Objects
- retained
windows, Buffered, Retained, and Nonretained Windows
- returnTypes, How Services Work
- revert:
method, Changes to the PrefController Class, Loading and Saving the Default Values
- RGB color model, Colors and Color Objects
- Rich
Text
Format (see RTF)
- root
system user, Usernames and UIDs
- viewing root
processes, Seeing All the Processes
- rotateByAngle: method, NSView Coordinate Systems
- RTF (Rich
Text Format), Rich Text Format and NSText, Rich Text Syntax, RTF Control Words and Symbols
- angle, Using TextEdit to Explore RTF
- classes, creating
for, Creating an RTF Class, Creating an RTF Class
- control words and
symbols, RTF Control Words and Symbols, RTF Control Words and Symbols
- fonts, Using TextEdit to Explore RTF
- groups, Rich Text Syntax
- states, Rich Text Syntax
- weight, Using TextEdit to Explore RTF
- RTF
class, Creating an RTF Class, Creating an RTF Class
- dependencies on other
classes, Creating an RTF Class
- implementation, Creating an RTF Class
- instance
methods, Creating an RTF Class
- MathPaper, integration
into, Integrating Our RTF Class into MathPaper, Integrating Our RTF Class into MathPaper
- rubberbanding, The Mouse and Cursor
- rules.l
file, Building the Back End
- MathPaper, adding
to, Making Evaluator a MathPaper Auxiliary Executable
- run
message, The Main Event Loop
- runModalSession:
message, Modifications Required for GraphPaper to Implement Services
- runningAsService
instance variable, Modification of GraphView
- runtime
binding, Objects, Messages, and Targets
S
- Save
Graph command, Changes to MainMenu.nib
- save
methods, Writing the Save Methods, Writing the Save Methods
- save options,
supporting, Creating an Accessory NSView, Changes to the Controller Class
- saveAllDocuments:
method, Rethinking MathDocument and PaperController
- saveDocumentTo:
method, Changes to the Controller Class, Changes to the Controller Class
- saveDocument:
message, Writing the Save Methods
- savePanel instance
variable, Creating an Accessory NSView
- savePanelDidEnd:returnCode:contextInfo:
method, Changes to the Controller Class
- saving data, Memory to Disk and Back
- saving
files, Saving to a File, Advanced Save Panel Options
- customizing
features, Advanced Save Panel Options, Advanced Save Panel Options
- Save As or Save
To, Advanced Save Panel Options
- without
filename, Advanced Save Panel Options
- scaled coordinate
system, BarView: An NSView with a Scaled Coordinate System, BarView: An NSView with a Scaled Coordinate System
- scaleFactor
instance variable, Changes to ZoomScrollView
- scaleUnitSquareToSize: method, NSView Coordinate Systems, Changes to ZoomScrollView
- scale:
message, The NSScrollView Class Revisited
- screen resolution and
saved windows, Loading from a File
- scroll
arrows, Sliders and Scrollers
- scrollers, Sliders and Scrollers
- scrolling, Timers
- scrolling
lists, Text Fields and Scrolling Lists
- Segment
class, The Segment Class
- self, Adding Code to Make the Controller Class Work, Creating the About Box Nib
- [self bounds] message, Drawing with Quartz Inside a View Object
- semiautomatic
memory management, Cocoa environment, ObjectAlloc
- sendAction:to:
method, Action Messages and the NSResponder Chain
- sendData method, The Data Stuffer Methods
- senders, Adding Actions to the Controller
- sendTypes, How Services Work
- services, Services, Testing GraphPaper’s Service
- aliases, Mac OS X
version dependency, Creating the Services Advertisement
- Controller class,
registration as, Changes to Controller
- creating, Creating Your Own Service, Testing GraphPaper’s Service
- GraphPaper
implementation, Modifications Required for GraphPaper to Implement Services
- GraphView class,
conversion to, Modification of GraphView
- Info.plist
file, Creating Your Own Service, Creating the Services Advertisement
- XML property list
verification, Creating the Services Advertisement
- InfoPlist.strings
file, Changing the Strings in the About Box
- operating system,
control by, How Services Work
- Services
advertisements, Creating Your Own Service
- creating, Creating the Services Advertisement, Creating the Services Advertisement
- fields, Creating Your Own Service
- XML
editing, Creating the Services Advertisement
- Services submenu and
commands, Services Submenu
- setAutoresizesSubviews: method, Resizing
- setAutoresizingMask: method, Resizing
- setBoundsSize:
method, BarView: An NSView with a Scaled Coordinate System
- setColor
method:, Adding Labeling
- setData:Type: method, Providing Data to the Pasteboard
- setDelegate:
method, Specifying an Object’s Delegate
- setEnd:
method, The @interface Directive
- memory leaks
and, The @implementation Directive
- setFormat:
method, Creating an Accessory NSView, Changes to the Controller Class
- setFrameOrigin: method, Moving and Resizing Views
- setFrameRotation: method, Moving and Resizing Views
- setFrameSize: method, Moving and Resizing Views
- setFrame: method, Moving and Resizing Views
- setFrame:display:
method, Loading from a File
- setFrame:display:animate:
method, Modifying the Controller Class
- setHasHorizontalScroller:
message, The NSScrollView and NSTextView Classes
- setHasVerticalScroller:
message, The NSScrollView and NSTextView Classes
- setNeedsDisplay
message, Modifying the Controller Class
- setNeedsDisplayInRect: method, Controlling Display and Redisplay
- setNeedsDisplay: method, Controlling Display and Redisplay
- setNumSides:
method, PolygonView: A Non-Opaque NSView
- setObjectsToColor:
method, ColorGraphView
- setObjectsToColor:forTag:
method, ColorGraphView, The ColorGraphView Class Implementation, Reading Values from the Defaults Database
- setObject:forKey:
method, Methods for searching for button titles
- setPercentage:
method, BarView: An NSView with a Scaled Coordinate System
- setPostsFrameChangedNotification: method, The NSView Hierarchy
- setRadius:
method, A Simple Class Example
- setRadix:
method, Modifying the Controller Class, Modifying the Controller Class
- hexadecimal operations, modifying
for, Modifying the Controller Class
- multi-base applications, modifying
for, Accessing NSMatrix Cells with an NSArray Object
- setScaleFactor:
method, Changes to ZoomScrollView
- setServicesProvider:
message, Creating Your Own Service
- setSize:
method, Changing the PolygonView’s Size
- setStart:
method, The @interface Directive, Destroying Objects
- memory leaks and, The @implementation Directive
- setTag:
method, Adding Labeling
- setup( )
function, Windows, Views, Delegates, and the setup( ) Function
- setUpWell:
method, PrefController Class Implementation, Changes to the PrefController Class
- setX:andY:
method, A Simple Class Example
- shape instance
variable, Getting a Mouse-Down Event
- Shell
menu, The Mac OS X Terminal Application
- shells
(Unix), The Mac OS X Terminal Application
- Should
messages, Should, Will, and Did Delegates
- examples, Should, Will, and Did Delegates
- showAboutPanel: method, Modifying the Controller Class, Modifying the Main Calculator Nib
- showPrefs:
method, The Controller Class
- Size Info dialog, Modifying the Calculator’s Interface
- sizeToCells
message, Modifying the Controller Class
- sliders, Sliders and Scrollers
- source
code examples, resources, Sample Code
- source
image, Drawing Images with Quartz
- spaces vs. tab characters,
Unix, Building the Back End
- square brackets ([
]), Objects and Classes
- sscanf( )
function, The Graph Displayer
- stack-trace, gdb Commands
- standard
state, Configuring Your Desktop, Step by Step
- +standardUserDefaults
method, The NSUserDefaults Class
- start
method, The @interface Directive
- states, Rich Text Syntax
- static
input fields, Text Fields and Scrolling Lists
- static
typing, Creating and Initializing Objects
- Stickies
advertisement, How Services Work
- stopGraph:
method, Building GraphPaper’s Interface, The Data Stuffer Methods, Stopping a Running Graph
- stop:
message, The Main Event Loop
- string
tables, Changing the Strings in the About Box
- stringWithFormat:
method, autorelease and the NSAutoreleasePool Class
- stroke
method, Connecting to the Back End, Adding Labeling
- strong
typing, Modifying the Controller Class
- stuffer, Unix Pipes and Evaluator
- subclassing vs.
delegation, Should, Will, and Did Delegates
- submenu, Application Menu
- submenu
indicator, Menus and the Menu Bar
- subtractive color
models, Colors and Color Objects
- subView
outlet, Changes to MainMenu.nib
- subviews, Tiny.m Revisited
- subviews method, The NSView Hierarchy
- [super encodeWithCoder:coder]
message, Archiving MathPaper Documents
- superuser, Usernames and UIDs
- superview, Responders and the NSResponder Chain
- superview method, The NSView Hierarchy
- swapping, Mach
- synchronizeData
method, Synchronizing PaperController with MathDocument
- System
Preferences, System Preferences, System Preferences
- system
users, Usernames and UIDs
T
- tab character vs.
spaces, Unix, Building the Back End
- tab controls, Other Controls
- tag
method, Adding Labeling
- tagAtPoint:
method, Being a Drag-and-Drop Receiver
- Tagged
Image File Format (see TIFF)
- tags, NSMatrix Dragging Options in IB, Setting Up Tags and Titles for the Keypad Buttons
- takeFloatSize:
method, Changing the PolygonView’s Size
- takeIntValueFrom:
message, Targets, Actions, and Connections, Action Messages and the NSResponder Chain
- takeNumSidesFrom:
method, PolygonView: A Non-Opaque NSView
- takePercentage:
method, BarView: An NSView with a Scaled Coordinate System
- target instance
variable, NSActionCell class, Action Messages and the NSResponder Chain
- target selection mouse action
paradigm, Mouse Action Paradigms
- target/action
paradigm, Targets, Actions, and Connections
- targets, Targets, Actions, and Connections, Targets, Actions, and Connections
- termcap, History of the Video Display Terminal
- viewing, The Mac OS X Terminal Application
- Terminal
application, Utilities, The Mac OS X Terminal Application, The Defaults System
- compiling and running programs in
shell window, Compiling and Running a Program from PB
- Evaluator program, creation
using, lex and yacc
- history, Working with the Terminal, History of the Video Display Terminal
- preferences, The Mac OS X Terminal Application
- Shell
menu, The Mac OS X Terminal Application
- Terminal Inspector
dialog, The Mac OS X Terminal Application
- terminals,
history of, History of the Video Display Terminal
- terminate:
message, Targets, Actions, and Connections, The Main Event Loop
- terminology, The Mouse and Cursor
- Test Interface
mode, Adding a Button Object to Your Window
- Tevanian,
Avie, Mach
- text
- completion, Pop-up Menus, Command Pop-down Menus, and Combination Boxes
- drawing with Quartz, Setting Colors, Drawing Rectangles, and Drawing Lines, Drawing Text with Quartz
- fields, Text Fields and Scrolling Lists
- textDidChange:
method, Creating the NSTextView Delegate, Marking a Document Window as Edited
- PaperController.m file, insertion
into, Creating the NSTextView Delegate
- TextEdit application, The Tiny.m Program
- event-handling
example, An Event-Handling Example Using TextEdit
- RTF (Rich Text Format)
and, Using TextEdit to Explore RTF
- theText
instance variable, Creating PaperController, a Subclass of NSWindowController
- threads, Mach, Connecting to the Back End, Threads
- locks
and, Locking with NSLock
- main
thread, Launching Threads with NSThread
- tick:
method, Putting It All Together
- TIFF (Tagged Image File
Format), Creating Application Icon Files with IconComposer
- PDF, conversion
from, Saving to TIFF
- TIFFForView:
method, Saving to TIFF
- tile
method, Changes to ZoomScrollView
- time slice, Operating Systems
- timers, Timers, Adding and Removing Timers
- timer:invalidate
method, Adding and Removing Timers
- Tiny.m
application, The Tiny.m Program, Tiny.m Revisited, Drawing with Quartz Inside a View Object
- main( )
function, Tiny.m Revisited
- setup( )
function, Windows, Views, Delegates, and the setup( ) Function
- tokens, The Evaluator Back End
- toolbar, The Toolbar
- Toolbox, The Toolbox, Carbon, and Cocoa
- top, Working in a Unix Shell, Step by Step
- tracking
rectangles, Tracking Rectangles
- TrackingGraphView
class, Changes to the GraphPaper Interface
- translateOriginToPoint: method, NSView Coordinate Systems
- transparency, Colors and Color Objects
- trash, A Quick Look at the Mac OS X User Interface
- two-state
buttons, Buttons
- type
codes, Saving to a File
- types method, Providing Data to the Pasteboard
U
- UID
(user identifier), Usernames and UIDs
- Unix operating
system, Unix
- case-sensitivity, Working with Folders
- defaults
command, Accessing the Defaults Database in a Terminal
- execv( )
function, Processes, Pipes, and Resources
- fork( )
function, Processes, Pipes, and Resources
- pipes, Unix Pipes and Evaluator
- tab characters vs.
spaces, Building the Back End
- Unix
shell, The Mac OS X Terminal Application
- unlockFocus
method, Drawing in an NSView with Quartz
- user
identifier (UID), Usernames and UIDs
- user interface design, User Interface Design
- user
processes, viewing, Seeing All the Processes
- user state, Configuring Your Desktop, Step by Step
- usernames, Usernames and UIDs
- USE_RTF
conditional completion technique, Integrating Our RTF Class into MathPaper
- utility
windows, Utility Windows
V
- validRequestorForSendType:returnType:
method, How Services Work
- variables,
initialization in Objective-C, Modifying the Controller Class
- VDTs (video display
terminals), History of the Video Display Terminal
- history, History of the Video Display Terminal
- vertical scroller, The NSScrollView and NSTextView Classes
- vi, The Tiny.m Program
- view object, drawing inside with
Quartz, Drawing with Quartz Inside a View Object
- view-control buttons, Other Controls, The Finder Window
- viewDidEndLiveResize method, Resizing
- viewing
hidden directories, Debugging Programs with gdb
- views, Drawing in a Rectangle: More Fun with Cocoa Views
- (see also NSView
class)
- display and redisplay,
controlling, Controlling Display and Redisplay
- flipping, Flipping
- methods for moving and
resizing, Moving and Resizing Views
- opaque and
nonrectangular, Opaque and Nonrectangular Views
- viewWillStartLiveResize
method, Resizing
- viewWithTag: method, The NSView Hierarchy
- virtual
memory, Mach
- virtual
terminals, History of the Video Display Terminal
- void *
pointers, The id Data Type
- volatile
domains, Persistent versus volatile defaults
- VT100
terminal, The Mac OS X Terminal Application
W
- “wait”
cursor, Cursors
- web
sites, Web Sites
- weight
changes, fonts in RTF, Using TextEdit to Explore RTF
- Will
messages, Should, Will, and Did Delegates
- examples, Should, Will, and Did Delegates
- Window
Info panel, Buffered, Retained, and Nonretained Windows
- Window
Server, The Window Server and Quartz, The Application Kit and the Window Server
- windowDidLoad
method, Creating PaperController, a Subclass of NSWindowController
- windowNibName
method, MathDocument Class Modifications
- windows, Window Types and Behavior
- adding
buttons, Adding a Button Object to Your Window
- autosizing
multiple views within, Autosizing Multiple Views in a Window, Autosizing Multiple Views in a Window
- behavior, Adding a Zoom Button to GraphPaper
- moving without
activating, Moving Without Activating
- ordering
of, Window Order
- resizing, Resizing Windows Programmatically, Modifying the Controller Class
- types
of, Buffered, Retained, and Nonretained Windows
- Windows submenu, Window Menu
- windowTitleForDocumentDisplayName:
method, Giving Proper Titles to MathPaper Windows
- writeData:
method, Creating the NSTextView Delegate
- writeToFile:atomically:
method, Changes to the Controller Class
- WWDC (Worldwide Developers
Conference), Worldwide Developers Conference
- www system user, Usernames and UIDs
- WYSIWYG, What Makes Mac OS X So Special?
Z
- zoom buttons, Adding a Zoom Button to GraphPaper, Testing the Zoom Button
- zoomButton
outlet, Changes to MainMenu.nib
- ZoomScrollView
class, The NSScrollView Class Revisited
- awakeFromNib
method, Changes to ZoomScrollView
- changeZoom:
method, Changes to ZoomScrollView
- class files, Changes to ZoomScrollView
- initWithFrame:
method, Changes to ZoomScrollView
- setScaleFactor:
method, Changes to ZoomScrollView
- tile
method, Changes to ZoomScrollView
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.