Changes to the OpenDoc Programmer's Guide
The following items list the headings and page numbers of the revised sections in the OpenDoc Programmer's Guide.Changes to Chapter 6, "Windows and Menus"
"Implementing Undo" (page 259). Parts should not make any assumptions about theDisposeActionState
method."Adding Multistage Actions" (page 261). Parts can nest multistage actions in the undo action history.
"Undoing an Action" (page 262). Your part editor's
UndoAction
method should show the user the effect of the undo action in context."Redoing an Action" (page 263). Your part editor's
RedoAction
method should show the user the effect of the redo action in context."Clearing the Action History" (page 263). Calling
AbortCurrentTransaction
triggers calls to theDisposeActionState
method."Undo and Embedded Frames" (page 264). This section shows how to set the value of a frame's in-limbo flag.
Changes to Chapter 8, "Data Transfer"
"Proxy Content" (page 319). ThekODPropProxyContents
property is not copied when the storage unit containing it is cloned."Cloning-Kind Annotation" (page 319). A part may create a
kODPropCloneKindUsed
property when promising intrinsic content."Fulfilling a Promise" (page 331). When fulfilling a promise, reset the current offset of the storage-unit view to 0, ensuring that the actual promise data is overwritten.
"Writing Intrinsic Content" (page 341). Create a
kODPropCloneKindUsed
property to ensure that you fulfill promises for your intrinsic data using the correct clone kind."Pasting From the Clipboard" (page 360). Clipboard content is not transferred when a link is pasted.
"On Entering a Part's Facet" (page 366). Getting data from a drag-item iterator is a potentially time consuming; avoid it as much as possible during dragging.
"Dragging Non-OpenDoc Data to the Finder" (page 372). This section shows how to drag non-OpenDoc data to the Finder.
"Completion of StartDrag" (page 372). The
destPart
value returned byStartDrag
is intended for future use only."Frame Link Status" (page 378). Your part editor calls the display frame's
EditInLink
method if the user attempts to edit the content of any display frame whose link status iskODInLinkDestination
."Determining the Link Status of a Display Frame" (page 379).
LinkStatusChanged
will not be called when a display frame is reconnected unless the frame's link status has changed."The LinkStatusChanged Method of Your Part Editor" (page 380). You must ensure that the link status of your part windows and their source frames is consistent.
"Locking and Unlocking Links" (page 384). Many methods of
ODLinkSource
andODLink
require that you provide a key before accessing the storage unit containing the content of a link."Updating a Link at the Destination" (page 388). If
GetContentStorageUnit
throws the errorkODErrCannotEstablishLink
, the link could not be found."Updating a Link at the Source" (page 390). After you have unlocked a link, you must not attempt to access its content storage unit.
"Transfer Rules for Links and Link Sources" (page 400). When you move the source and destination of the same link across documents, the link source and destination are both transferred.
Change to Chapter 10, "Extending OpenDoc"
"Shell Plug-Ins" (page 451). The document shell must look at all entries in your shell plug-in file's code-fragment resource for a valid entry point before dismissing the file.Changes to Chapter 11, "OpenDoc Runtime Features"
"Standard Part Kinds" (page 478). Part editors supporting the plain text or styled text categories should support some basic Macintosh file types for text."The Document Shell and the Document Menu" (page 506). If the user sets certain preferences, new documents may be bound to an editor other than the editor of the root part of the active window.