Research Catalog

Cocoa recipes for Mac OS X / Bill Cheeseman.

Title
Cocoa recipes for Mac OS X / Bill Cheeseman.
Author
Cheeseman, Bill.
Publication
Berkeley, CA : Peachpit Press, c2003.

Items in the Library & Off-site

Filter by

1 Item

StatusFormatAccessCall NumberItem Location
TextUse in library QA76.64 .C483 2003Off-site

Details

Additional Authors
Apple Computer, Inc.
Description
xxviii, 752 p. : ill.; 23 cm.
Summary
This book takes a practical, no-nonsense, hands-on, step-by-step approach, walking students through the details of building a Cocoa application from start to finish. It explains in detail what the code is doing and why it works.
Alternative Title
Cocoa recipes for Mac OS X : the Vermont recipes
Subject
  • Application program interfaces (Computer software)
  • C (Computer program language)
  • Cocoa (Application development environment)
  • Mac OS
  • Object-oriented programming (Computer science)
Note
  • Includes index.
Processing Action (note)
  • committed to retain
Contents
About Vermont Recipes xxvii -- Why Objective-C? xxxii -- Naming Conventions xxxiii -- Interface Builder and Project Builder xxxiv -- The Vermont Recipes Application Specification xxxvi -- Installing the Downloadable Project Files xxxvii -- Section 1 Building an Application 1 -- Recipe 1 A Multidocument, Multiwindow Application 3 -- Step 1 Create the Project Using Project Builder 7 -- Step 2 Design and Build the GUI Using Interface Builder 12 -- Step 3 Set Up the Project Source Files Using Project Builder 51 -- Step 4 Provide for Data Storage and Retrieval in Property List Format 89 -- Step 5 Provide a Better Way to Save Data, in XML Format 101 -- Step 6 Implement Undo and Redo 109 -- Step 7 Tinker with Revert 126 -- Step 8 Add Application and Document Icons 133 -- Step 9 Revise the Menu Bar 135 -- Step 10 Debug the Application and Build It for Deployment 136 -- Section 2 User Controls 153 -- Recipe 2 Buttons 155 -- Step 1 Prepare the Project for Recipe 2 156 -- Step 2 Create Checkboxes (Switch Buttons) in a Borderless Group Box 163 -- Step 3 Create Checkboxes (Switch Buttons) in a Bordered Group Box 192 -- Step 4 Create a Radio Button Cluster 211 -- Step 5 Create a Pop-Up Menu Button 223 -- Step 6 Create a Command Pop-Down Menu Button 232 -- Step 7 Create Bevel Buttons to Navigate a Tab View 236 -- Recipe 3 Sliders 245 -- Step 1 Create a Simple Slider 246 -- Step 2 Create a Continuous Slider with an Interactive Text Field 260 -- Step 3 Create a Continuous Slider with Push-buttons and a Static Text Field 273 -- Recipe 4 Text Fields 283 -- Step 1 Set Up Standard Text Fields 284 -- Step 2 Set Up the Key View Loop 308 -- Recipe 5 Text Field Extras: Alert Sheets 319 -- Step 1 Create a Complex, Interactive Document-Modal Alert Sheet to Deal with an Invalid Text Field Entry 319 -- Step 2 Set Up a Generic Document-Modal Sheet to Require an Entry in a Text Field 338 -- Step 3 Prevent Tab View Navigation While an Invalid Text Entry and Sheet Are Pending 344 -- Recipe 6 Text Field Extras: Formatters 349 -- Step 1 Set Up On-the-Fly Input Filtering for Integers 350 -- Step 2 Set Up On-the-Fly Input Filtering and Formatting for Decimal Values 364 -- Step 3 Create a Complete Custom Formatter for Conventional North American Telephone Numbers 389 -- Recipe 7 Text Field Extras: Undo and Redo 407 -- Step 1 Subclass NSTextField 410 -- Step 2 Allocate and Initialize a Separate Field Editor 411 -- Step 3 Clear the Undo and Redo Stacks 414 -- Step 4 Suppress Changes to the Document's Change Counter 419 -- Step 5 Enable Undo Registration for Unchanged Fields 421 -- Step 6 Make the Integer Text Field Undoable 423 -- Step 7 Read the Source Files into the Nib File and Connect Outlets and Actions 423 -- Step 8 Build and Run the Application 424 -- Recipe 8 Text Field Extras: Drag and Drop 425 -- Recipe 9 Forms 437 -- Step 1 Create a Form in Interface Builder 438 -- Step 2 Write the Code for the Form in Project Builder 440 -- Step 3 Read the Source Files into the Nib File and Connect Outlets and Actions 454 -- Step 4 Add a Custom Formatter to the Fax Form Field, with Alert Sheets 455 -- Step 5 Add Live Undo and Redo Support to the Form 458 -- Step 6 Add Full Drag-and-Drop Support to the Form 466 -- Step 7 Build and Run the Application 470 -- Recipe 10 Combo Boxes 471 -- Step 1 Create a Combo Box in Interface Builder 473 -- Step 2 Write the Code for the Combo Box in Project Builder 474 -- Step 3 Create a Data Source for the Combo Box 475 -- Step 4 Add Full Drag-and-Drop Support to the Combo Box 480 -- Step 5 Read the Source Files into the Nib File and Connect the Actions 482 -- Step 6 Build and Run the Application 482 -- Recipe 11 Table Views 485 -- Step 1 Create a Table View and Three Push-buttons in Interface Builder 487 -- Step 2 Write the Basic Code for the Table and Buttons in Project Builder 490 -- Step 3 Create a New Model Class for Records 496 -- Step 4 Add and Remove Records in the Model Object 503 -- Step 5 Assign a Unique ID to Each New Record 506 -- Step 6 Write Action Methods and Supporting Code to Add and Delete Records in the Table 509 -- Step 7 Filter the Array for Display in the Table 516 -- Step 8 Write the Table's Data Source Protocol Methods 520 -- Step 9 Implement a Customizable Combo Box Menu 526 -- Step 10 Apply Data Entry Filtering and Formatting in Table Cells 535 -- Step 11 Implement Drag and Drop for Table Cells 538 -- Step 12 Implement Live Undo and Redo in Table Cells 540 -- Step 13 Add a Keyboard Shortcut for Deleting a Record 545 -- Step 14 Prepare the Table View for the Key View Loop 549 -- Step 15 Read the Source Files into the Nib File and Connect the Actions 550 -- Step 16 Build and Run the Application 551 -- Section 3 Data Storage 553 -- Recipe 12 Keyed Archiving 555 -- Step 1 Encode and Decode the Antiques Inventory 557 -- Step 2 Archive and Unarchive the Antiques Inventory 565 -- Step 3 Apply Archiving and Unarchiving to the Rest of the Text Field Model 573 -- Step 4 Apply Archiving and Unarchiving to the Remaining Model Objects 575 -- Step 5 Add Support for Revert, and Undo and Redo 578 -- Step 6 Build and Run the Application 585 -- Section 4 Menus 587 -- Recipe 13 Application Menus 589 -- Step 1 Add an Application Menu and Menu Items Using Interface Builder 589 -- Step 2 Enable and Disable the New Menu Items 592 -- Step 3 Build and Run the Application 595 -- Recipe 14 Contextual Menus 597 -- Step 1 Add a Contextual Menu and Menu Items Using Interface Builder 597 -- Step 2 Enable and Disable the New Contextual Menu Items 600 -- Step 3 Add a Menu Item to the Antiques Menu in the Menu Bar 601 -- Step 4 Build and Run the Application 602 -- Recipe 15 The Dock Menu 603 -- Step 1 Add Static Menu Items to the Dock Menu Using Interface Builder 604 -- Step 2 Add Dynamic Menu Items to the Dock Menu Using Project Builder 606 -- Step 3 Build and Run the Application 612 -- Section 5 Windows 615 -- Recipe 16 Drawers 617 -- Step 1 Add a Button to the Main Document Window to Toggle the Drawer Open and Closed 618 -- Step 2 Add Static Text, a Text View, and a Button to the Drawer 619 -- Step 3 Add a Text-Formatting Menu to the Menu Bar 622 -- Step 4 Remove the Find Menu from the Menu Bar 623 -- Step 5 Set Up a Window Controller Category for the Drawer and Its Text View 624 -- Step 6 Set Up a Model Object for the Text Data Represented by the Drawer 631 -- Step 7 Archive and Unarchive the Drawer's Text Data 635 -- Step 8 Read the Source Files into the Nib File and Connect Outlets 637 -- Step 9 Build and Run the Application 637 -- Recipe 17 Multiple Windows 639 -- Step 1 Redesign the Text-Handling Code for the Drawer's Text View 641 -- Step 2 Create a Split-View Window in a Separate Nib File in Interface Builder 652 -- Step 3 Create a Separate Window Controller for the Split-View Window in Project Builder 654 -- Step 4 Code and Connect the Open in Window Button 657 -- Step 5 Coordinate the Three Text Views 661 -- Step 6 Build and Run the Application 665 -- Recipe 18 Alert and Dialog Panels 667 -- Step 1 Create a Freestanding Modal Alert Panel That Doesn't Block Application Processing 670 -- Step 2 Create a Freestanding Dialog Panel for Entry of User Preference Settings 678 -- Section 6 Additional Application Features 685 -- Recipe 19 User Preferences 687 -- Recipe 20 Online Help 695 -- Step 1 Create a Help tag Reflecting a View's Current State 698 -- Step 2 Create Context Help for a View 699 -- Step 3 Add Menu Items to the Help Menu to Present a Read-Me Document and Turn On Context Help 705 -- Step 4 Implement HTML-Based Comprehensive Apple Help 709 -- Section 7 Working with Mac OS X 10.2 (Jaguar) 717 -- Recipe 21 Ensuring Backward Compatibility for Jaguar Applications 719 -- Step 1 Bypass New Jaguar Methods and Functions by Testing the Operating System Version 721 -- Step 2 Bypass New Jaguar Methods by Testing Their Availability 731 -- Step 3 Bypass New Jaguar Classes by Testing Their Availability 732 -- Step 4 Deal with New Jaguar External Variables 733 -- Step 5 Build the Application for Deployment 735.
ISBN
0201878011 (pbk.)
LCCN
^^2003544701
Owning Institutions
Harvard Library