Preface | p. xiii |
Fundamentals | p. 1 |
The Workspace | p. 3 |
The Project Window | p. 3 |
Editing Windows | p. 7 |
Adding Functionality | p. 12 |
How the Three Editors Relate | p. 16 |
Testing Without Building | p. 20 |
Shortcuts | p. 21 |
The Basic Language | p. 23 |
Lines and Commands | p. 24 |
Variables and Constants | p. 25 |
Subroutines | p. 29 |
Regulating Flow | p. 39 |
Arrays | p. 46 |
Recursion | p. 50 |
Comments | p. 53 |
Objects, Classes, and Instances | p. 54 |
Messages and Dot Notation | p. 55 |
Object Design Philosophy | p. 57 |
Classes and Instances | p. 60 |
Anatomy of a Class | p. 65 |
An Instance Is Born | p. 68 |
Referring to Instances | p. 70 |
The Truth About Controls | p. 79 |
Control Clones and Control Arrays | p. 80 |
Being Careful with Instance References | p. 85 |
Destruction of Instances | p. 92 |
Subclasses | p. 95 |
New Classes and Inheritance | p. 95 |
Casting | p. 98 |
Overriding | p. 101 |
Class Interfaces | p. 105 |
Events and New Events | p. 109 |
The Class Hierarchy | p. 115 |
Global Members | p. 117 |
Further Class Features | p. 121 |
Example Classes | p. 127 |
Datatypes | p. 132 |
Booleans | p. 132 |
Strings | p. 135 |
Numbers | p. 143 |
Variants | p. 148 |
Collections | p. 150 |
Dates | p. 151 |
Colors | p. 155 |
Memoryblocks | p. 158 |
Threads | p. 162 |
Menus | p. 170 |
Editing Menus | p. 170 |
Default Menu Items | p. 175 |
The Menu-Enabling Moment | p. 177 |
Menu Item Functionality | p. 179 |
Dynamic Menus | p. 182 |
The Architecture of an Application | p. 187 |
Three Pillars of Zen | p. 188 |
The Application Subclass | p. 196 |
Order of Events | p. 197 |
Debugging and Building | p. 201 |
Compile Errors | p. 201 |
Exceptions | p. 206 |
The Debugger | p. 213 |
Building | p. 218 |
User Interface | p. 227 |
Windows | p. 229 |
Applet and Dialog Subclasses | p. 230 |
Window Types | p. 231 |
Opening and Closing, Showing and Hiding | p. 234 |
Title, Position, and Size | p. 242 |
Events | p. 244 |
Drawing in a Window | p. 248 |
Abstract Control Classes | p. 250 |
Lifetime Events | p. 252 |
Appearance | p. 253 |
Position and Dimensions | p. 254 |
Mouse Movement Events | p. 255 |
Redrawing | p. 257 |
Canvases | p. 259 |
Canvas Events, Properties, and Methods | p. 260 |
Picture Class | p. 261 |
Graphics Class | p. 264 |
Backdrop Property | p. 269 |
Fun With Graphics Properties | p. 273 |
Canvas Graphics Property | p. 282 |
Transparency and Icons | p. 289 |
Speed | p. 293 |
Interaction with Other Objects | p. 295 |
Buttons and StaticTexts | p. 302 |
PushButton | p. 303 |
BevelButton | p. 305 |
Placard | p. 308 |
LittleArrows | p. 309 |
CheckBox | p. 310 |
RadioButton and GroupBox | p. 311 |
DisclosureTriangle | p. 315 |
StaticText | p. 315 |
Custom Buttons | p. 316 |
EditFields | p. 322 |
Types of EditField | p. 322 |
EditField Events, Properties, and Methods | p. 323 |
The Focus | p. 329 |
Manipulating Text and Styles | p. 336 |
Reacting to User Input | p. 342 |
Drawing Styled Text | p. 346 |
Miscellaneous Tips | p. 348 |
ListBoxes | p. 349 |
ListBox Features | p. 349 |
ListBox Events, Properties, and Methods | p. 351 |
Basic ListBox Techniques | p. 358 |
The Selection | p. 362 |
Hierarchical ListBoxes | p. 363 |
Other ListBox Features | p. 373 |
ProgressBars, Sliders, and Scrollbars | p. 376 |
ProgressBar | p. 377 |
Slider | p. 378 |
Scrollbar | p. 380 |
Shapes and Decorations | p. 387 |
Line | p. 388 |
Shapes | p. 388 |
Separator | p. 389 |
ImageWell | p. 389 |
ChasingArrows | p. 390 |
PopupArrow | p. 390 |
Menus in Windows | p. 391 |
PopupMenu | p. 391 |
BevelButton | p. 397 |
ContextualMenu | p. 399 |
Alternatives | p. 402 |
TabPanels | p. 405 |
Preparation | p. 406 |
Properties and Events | p. 406 |
Usage | p. 407 |
Keyboard | p. 409 |
Keyboard Communication | p. 409 |
Keyboard Object | p. 410 |
UserCancelled | p. 416 |
Mouse and Cursor | p. 417 |
Mouse Communication | p. 417 |
Polling the Mouse | p. 420 |
Balloon Help | p. 420 |
Cursor | p. 421 |
Reaching Out | p. 429 |
Files | p. 431 |
Getting a FolderItem | p. 431 |
File Types | p. 437 |
File Properties | p. 439 |
File Actions | p. 441 |
Navigating the Folder Hierarchy | p. 442 |
Aliases and AppleScripts | p. 444 |
Arbitrary Data: Binary Streams | p. 446 |
Sequential Data: Text Streams | p. 452 |
Resources | p. 458 |
Predefined Data Formats | p. 464 |
Databases | p. 469 |
Database Files and Classes | p. 469 |
Schemas | p. 476 |
DatabaseQuery Control | p. 477 |
Other Data Sources | p. 478 |
Clipboard | p. 481 |
Clipboard Class | p. 482 |
Usage | p. 482 |
Drag-and-Drop | p. 486 |
Beginning a Drag | p. 487 |
Receiving a Drop | p. 491 |
Finder Drop | p. 494 |
Internal Drag-and-Drop | p. 495 |
Limitations and Workarounds | p. 498 |
Time | p. 501 |
Ticks and Microseconds | p. 501 |
Timers | p. 502 |
Yielding Time | p. 507 |
Sound | p. 510 |
Beep | p. 510 |
Sound Object | p. 510 |
MIDI Notes | p. 512 |
Movies | p. 519 |
Movie Class | p. 520 |
MoviePlayer | p. 521 |
Movie Usage and Limitations | p. 525 |
Making Movies | p. 527 |
Analyzing Movies | p. 530 |
Game Animation | p. 533 |
Configuring the SpriteSurface | p. 534 |
Basic Sprite Control | p. 537 |
Improving the Classes | p. 541 |
Intelligent Sprite Behavior | p. 544 |
Responding to Keys | p. 546 |
Collisions | p. 548 |
Soundtracks | p. 551 |
Printing | p. 555 |
Printer Specifications | p. 555 |
The Printer Graphics Object | p. 556 |
Measurement Problems | p. 558 |
Resolution Problems | p. 558 |
Printing Text | p. 560 |
TCP/IP Communications | p. 566 |
Socket Properties, Methods, and Events | p. 567 |
Client | p. 569 |
Server | p. 584 |
Apple Events and AppleScript | p. 591 |
Sending Apple Events | p. 592 |
Receiving Apple Events | p. 598 |
Apple Event Classes, Properties, and Methods | p. 603 |
Apple Event Inadequacies | p. 608 |
AppleScripts | p. 610 |
Language Extensions | p. 612 |
XCMDs | p. 613 |
Shared Libraries | p. 615 |
Direct Library Calls | p. 627 |
Plug-ins | p. 634 |
Version Differences | p. 641 |
Index | p. 649 |
Table of Contents provided by Syndetics. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.