Chapter 8 - Data Transfer
This is the sixth of eight chapters that discuss the OpenDoc programming interface in detail. It describes how OpenDoc provides support for data-
transfer operations.Before reading this chapter, you should be familiar with the concepts presented in Chapter 1, "Introduction to OpenDoc," and Chapter 2, "Development Overview." You should also be familiar with OpenDoc storage concepts, as presented in the previous chapter. For additional concepts related to your part editor's runtime environment, see Chapter 11, "OpenDoc Runtime Features."
This chapter describes general issues common to all data-transfer methods and then describes how your part can support
- clipboard data transfer
- drag-and-drop data transfer
- linking
Chapter Contents
- Storage Issues for Data Transfer
- Data Configuration
- Annotations
- Link Specification
- Frame Shape or Frame Annotation
- Proxy Content
- Cloning-Kind Annotation
- Mouse-Down Offset Annotation
- Clonable Data Annotation Prefix
- Cloning
- The Cloning Sequence
- BeginClone
- Clone
- EndClone
- The Scope of a Clone Operation
- The CloneInto Method of Your Part Editor
- The ClonePartInfo Method of Your Part Editor
- Promises
- Writing a Promise
- Getting Data From a Value Containing a Promise
- Fulfilling a Promise
- Translation
- Handling Cut Data
- Handling Pasted or Dropped Data
- Default Conventions
- Handling the Paste As Dialog Box
- Writing to a Data-Transfer Object
- Writing Intrinsic Content
- Writing a Single Embedded Part
- Reading From a Data-Transfer Object
- Incorporating Intrinsic Content
- Embedding a Single Part
- Translating Before Incorporating or Embedding
- Clipboard Transfer
- Clipboard Concepts
- Acquiring and Relinquishing the Clipboard Focus
- Clipboard Update ID
- Removing a Link Specification From the Clipboard
- Undo for Clipboard
- Copying or Cutting to the Clipboard
- Pasting From the Clipboard
- Drag and Drop
- Drag-and-Drop Concepts
- User Interaction
- Move Versus Copy
- Droppable Frames
- Undo for Drag and Drop
- Initiating a Drag
- Operations While a Drag Is in Progress
- On Entering a Part's Facet
- While Within a Part's Facet
- On Leaving a Part's Facet
- Dropping
- Drag Attributes and the Drop Method
- Accepting Non-OpenDoc Data
- Dragging Non-OpenDoc Data to the Finder
- Completion of StartDrag
- Linking
- Link Concepts
- Link Update ID
- Automatic and Manual Updating
- Frame Link Status
- When to Change Link Status
- Determining the Link Status of a Display Frame
- The LinkStatusChanged Method of Your Part Editor
- Content Changes in Embedded Frames
- The ContentUpdated Method
- The EmbeddedFrameUpdated Method of Your Part Editor
- Link Borders
- Link Info
- Linking and Undo
- Locking and Unlocking Links
- Manipulating Links
- Creating a Link at the Destination
- Creating a Link at the Source
- Replacing Link-Source Content in CreateLink
- Updating a Link at the Destination
- Updating a Link at the Source
- Writing Linked Content to Storage
- Writing Links in Externalize
- Writing Links for Data Transfer
- Reading Linked Content From Storage
- Reading Links in InitPartFromStorage
- Reading Links for Data Transfer
- Revealing the Source of a Link
- Editing a Link Destination
- Breaking and Cutting Links
- Transfer Rules for Links and Link Sources
Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help