Cocoa Recipes for Mac OS X

Author(s)

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. 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. Bill Cheeseman. Includes Index.

Keywords
, , , ,
Name in long format: Cocoa Recipes for Mac OS X
ISBN-10: 0201878011
ISBN-13: 9780201878011
Book pages: 780
Book language: en
Binding: Paperback
Publisher: Peachpit Press
Dimensions: Height: 8.9 Inches, Length: 7 Inches, Weight: 2.60586393684 Pounds, Width: 1.6 Inches