Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: OpenDoc Programmer's Guide /


Figures and Tables

Color Plates

Color Plate 1 Default stationery pad icons

Color Plate 2 Default part-editor icons

Color Plate 3 Default part-viewer icons

Color Plate 4 Custom icons

Color Plate 5 Selected appearance of icons

Chapter 1 Introduction to OpenDoc 27

Figure 1-1 Monolithic application versus components 31

Figure 1-2 Parts in an OpenDoc document 36

Figure 1-3 A containing part and an embedded part 39

Figure 1-4 Parts and frames in a document 40

Figure 1-5 Embedding versus incorporating pasted data 43

Figure 1-6 Frames and facets in drawing 47

Figure 1-7 Several presentations for three parts in a document 49

Figure 1-8 View types for a part 50

Figure 1-9 An embedded frame opened into a part window 51

Figure 1-10 Frame negotiation 53

Figure 1-11 Inactive, active, and selected states of an embedded part 55

Figure 1-12 Inactive and active states of a graphics part 56

Figure 1-13 Inside-out activation of a deeply embedded part 57

Figure 1-14 The Mac OS Document and Edit menus 59

Figure 1-15 Multiple data streams in a single OpenDoc document 61

Figure 1-16 The Drafts dialog box 62

Figure 1-17 Dragging a stationery part from the desktop into a window 63

Figure 1-18 Using drag and drop within a document 65

Figure 1-19 Dragging a part to the desktop 66

Figure 1-20 Linking spreadsheet data to a bar chart 67

Figure 1-21 Sending a semantic event to an embedded part 69

Figure 1-22 Parts communicating through extensions 71

Table 1-1 OpenDoc advantages 33

Chapter 2 Development Overview 73

Figure 2-1 The OpenDoc class hierarchy (principal classes) 77

Figure 2-2 OpenDoc class hierarchy (support classes) 78

Table 2-1 Required and optional ODPart overrides 90

Chapter 3 Frames and Facets 101

Figure 3-1 Simplified frame and facet hierarchies in a document 104

Figure 3-2 An example of frame negotiation with multiple frames 117

Figure 3-3 Synchronizing frames through AttachSourceFrame 127

Chapter 4 Drawing 129

Figure 4-1 Facets and canvases 133

Figure 4-2 What a transform does 135

Figure 4-3 Frame shape (in its own frame coordinates) 136

Figure 4-4 Frame shape (in content coordinates of its part) 137

Figure 4-5 Frame shape (in content coordinates of its containing part) 138

Figure 4-6 Frame shape (in canvas coordinates and window coordinates) 140

Figure 4-7 Two coordinate systems for measuring position in a part's content 142

Figure 4-8 Scrolling a part by modifying the frame's internal transform 145

Figure 4-9 A frame shape 148

Figure 4-10 A used shape 149

Figure 4-11 An active shape 150

Figure 4-12 A clip shape 151

Figure 4-13 Overlapping content elements and sibling embedded frames 152

Figure 4-14 An active frame border that both obscures and is obscured by content 155

Figure 4-15 Using a "content shape" within a frame shape for drawing 168

Figure 4-16 Using two facets to draw a frame that spans a page break 174

Figure 4-17 Using multiple facets to rearrange portions of an embedded image 175

Figure 4-18 Using subframes to implement a split-frame view 176

Figure 4-19 Implementing a split-frame view using a single display frame 178

Chapter 5 User Events 185

Figure 5-1 Elements related to mouse events in active and inactive windows 198

Figure 5-2 Using a "content shape" within a frame shape to handle events 216

Table 5-1 OpenDoc user events (Mac OS platform) 189

Table 5-2 Handling mouse-down events 200

Table 5-3 Handling mouse-up events 203

Table 5-4 Focus types 206

Chapter 6 Windows and Menus 221

Figure 6-1 Page Setup dialog box 248

Figure 6-2 Job dialog box 249

Figure 6-3 The Part Info dialog box 254

Figure 6-4 The Link Source Info dialog box 254

Figure 6-5 The Link Destination Info dialog box 256

Table 6-1 Window characteristics stored in a root frame 227

Table 6-2 Window event types 230

Table 6-3 Mac OS Menu ID ranges 243

Table 6-4 Setting a frame's in-limbo flag 265

Chapter 7 Storage 267

Figure 7-1 The organization of a storage unit 271

Figure 7-2 An example of a storage unit with several properties and values 272

Figure 7-3 Persistent references in a storage unit 280

Figure 7-4 Persistent references in a document 281

Figure 7-5 Cloning objects with strong and weak persistent references 283

Table 7-1 Draft permissions 286

Table 7-2 Data stored in a draft 288

Table 7-3 Standard Info properties 291

Chapter 8 Data Transfer 311

Figure 8-1 Scope in cloning 326

Figure 8-2 Change in scope as more deeply embedded parts are cloned 327

Figure 8-3 The Paste As dialog box 337

Figure 8-4 The Kind pop-up menu in the Paste As dialog box 338

Figure 8-5 The Translation for Paste dialog box 339

Figure 8-6 Incorporating the content of a data-transfer object 345

Figure 8-7 Embedding the content of a data-transfer object 348

Figure 8-8 Translating and then incorporating the contents of a data-transfer object 353

Figure 8-9 Translating and then embedding the contents of a data-transfer object 354

Figure 8-10 Objects and data involved in linking 374

Table 8-1 Kinds of cloning transactions 322

Table 8-2 Drag attributes 369

Table 8-3 Behavior of existing links during data transfer 401

Table 8-4 Creating links within links 402

Chapter 9 Semantic Events and Scripting 403

Figure 9-1 Inheritance hierarchy of scripting-related objects 416

Figure 9-2 Inheritance hierarchy of the object-descriptor classes 417

Figure 9-3 Inheritance hierarchy of the scripting-related utility classes 419

Figure 9-4 Runtime relationships for semantic-interface objects 420

Figure 9-5 Resolving an object specifier involving an embedded part 430

Table 9-1 OpenDoc equivalents to Apple Event Manager functions 408

Chapter 11 OpenDoc Runtime Features 457

Figure 11-1 Editor Setup dialog box 484

Figure 11-2 The Set Editor dialog box 485

Figure 11-3 The translation dialog box 488

Figure 11-4 Runtime relationships of the session object 491

Figure 11-5 Window-related object relationships 495

Figure 11-6 General embedding object relationships 496

Figure 11-7 Layout and imaging object relationships 497

Figure 11-8 User-interface object relationships 499

Figure 11-9 Storage-container-document relationships 500

Figure 11-10 Part-storage relationships 501

Figure 11-11 Part-extension relationships 502

Figure 11-12 The Document menu 507

Figure 11-13 Save a Copy dialog box 508

Figure 11-14 Document Info dialog box 509

Table 11-1 Factory methods for OpenDoc classes 466

Table 11-2 Part categories 479

Chapter 12 Basic Interface Elements 513

Figure 12-1 OpenDoc view types 516

Figure 12-2 A 32-by-32-pixel part icon 518

Figure 12-3 Custom part icons 518

Figure 12-4 A 16-by-16-pixel part icon 519

Figure 12-5 Custom 16-by-16-pixel part icons 519

Figure 12-6 Dimensions of the thumbnail icon 520

Figure 12-7 Sample thumbnail icons 521

Figure 12-8 Stationery pad icons 522

Figure 12-9 Custom stationery icons 522

Figure 12-10 Part-editor icons 523

Figure 12-11 Custom part-editor icons 524

Figure 12-12 Part-viewer icons 525

Figure 12-13 Custom part-viewer icons 525

Figure 12-14 Selected appearance of icons 526

Figure 12-15 Two possible frame shapes for the same part 527

Figure 12-16 Active part with the active frame border 528

Figure 12-17 An active frame border 529

Figure 12-18 A selected frame border 530

Figure 12-19 Border appearance for a frame outline in a part window 532

Figure 12-20 Destination feedback 533

Figure 12-21 Link borders 534

Figure 12-22 Sample palette 535

Figure 12-23 Ruler placement 537

Figure 12-24 Window border controls 538

Figure 12-25 About Editor menu item 542

Figure 12-26 An About dialog box 543

Figure 12-27 Document menu 544

Figure 12-28 A standard Edit menu 547

Figure 12-29 A preferences dialog box 551

Figure 12-30 The Show Frame Outline command in the Edit menu 553

Figure 12-31 A View menu 554

Figure 12-32 Application menu 555

Figure 12-33 Menus of a part viewer 556

Table 12-1 Pointer locations and shapes 540

Chapter 13 Guidelines for Part Display 557

Figure 13-1 A palette with tools for creating content and for embedding parts 561

Figure 13-2 A selected embedded part in an active part 564

Figure 13-3 Changing the active part 565

Figure 13-4 Range selection of intrinsic text plus an embedded graphics part 568

Figure 13-5 Range selection of intrinsic graphics plus an embedded text part 569

Figure 13-6 Multiple selection of different types of parts and intrinsic content 570

Figure 13-7 Extending a selection by Shift-clicking 571

Figure 13-8 Discontiguous selection of embedded parts 572

Figure 13-9 Resizing an embedded part's frame 573

Figure 13-10 Independent resize handles 574

Figure 13-11 Resizing intrinsic content plus an embedded part 574

Figure 13-12 Changing an embedded frame to an icon 577

Figure 13-13 Placement of part window 578

Figure 13-14 Using a part window to reposition content in a frame 580

Figure 13-15 A partially visible frame in a root part 582

Figure 13-16 Scrolling to reveal content 583

Figure 13-17 A Settings dialog box 584

Chapter 14 Guidelines for Content Manipulation 585

Figure 14-1 Sample indicator to show the sequenced state of a frame 588

Figure 14-2 Indicators for two sequenced frames 589

Figure 14-3 Displaying content in sequenced frames in a part window 590

Figure 14-4 Selection across sequenced frames 591

Figure 14-5 Adding content to sequenced frames 592

Figure 14-6 Save Changes alert box 593

Figure 14-7 Placement of an inserted document 598

Figure 14-8 Embedding a selection of multiple parts in a new part 600

Figure 14-9 Pointer changes as a frame is moved 603

Figure 14-10 Dragging content in an active window 605

Figure 14-11 Dragging content in an inactive window 606

Figure 14-12 Linked data 609

Figure 14-13 Alert boxes presented when the user attempts to edit a link destination 614

Figure 14-14 A link border and selected link borders in text 616

Figure 14-15 Nested links 617

Figure 14-16 A selected embedded frame that is also a link source or destination 618

Appendix C Installing OpenDoc
Software and Parts 637

Figure C-1 Sample Editors folder structure 638

Figure C-2 Sample Stationery folder structure 638


Previous Book Contents Book Index Next

© Apple Computer, Inc.
16 JUL 1996




Navigation graphic, see text links

Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help