Programming Guide: Appendix C. OpenDoc Recipes

# Programming Guide

# Appendix C. OpenDoc Recipes

This chapter provides recipes for implementing most aspects of OpenDoc. In general, it provides greater detail than the rest of the OpenDoc Programming Guide.

This introduction explains which recipes part developers need to implement for different kinds of parts.

All part editors must implement:

- All "Dynamic Binding" recipes:
  - "Binding"
  - "Installation of OpenDoc Software"

- All "Part Persistency" recipes:
  - "Multiple Kind Support"
  - "Part Storage Model"
  - "Part Init and Externalizing"
  - "Part Info 'Ternalization"
  - "Display Frame 'Ternalization"
  - "Lazy Frame Internalization"

- All "Standards" recipes:
  - "Making Parent Method Calls"
  - "ODByteArray"
  - "Object Equality"
  - "Parameters and Memory in OpenDoc"
  - "Part Properties"

- All "User Interface" recipes:
  - "Activation"
  - "Basic Event Handling"
  - "Dialogs"
  - "Menus"
  - "Pop-Up Menus"
  - "Opening and Closing Windows"
  - "Opening a Part into a Window"
  - "Window Events"
  - "Properties Notebook"
  - "Help"
  - "Undo"
  - "Using Resources in OpenDoc"
  - "Facet Windows"
  - "Using Embedded PM Controls within a Facet (OS/2)"
  - "Implementing a Dispatch Module"
  - "Implementing a Focus Module"

- "Imaging and Layout Recipes" recipes:
  - "Adding a Display Frame"
  - "Adding and Removing Facets"
  - "Part Drawing"
  - "Printing"
  - "Determining Print Resolution"
  - "Scrolling"
  - "View Types and Presentations"
  - "Content Update Notification"
  - "Creating an Embedded Frames Iterator"
  - "RequestEmbeddedFrame"

Part editors which support data interchange (the clipboard, drag and drop, or linking) must implement:

- All "Data Interchange" recipes:
  - "Clipboard Recipes"
  - "Data Interchange Basics"
  - "Drag and Drop"
  - "Promises"
  - "Drag and Drop - Promising Non-OpenDoc File"
  - "Linking Recipes"

Part editors which support embedding of parts must implement:

- Everything above plus...
  - "Imaging and Layout Recipes" recipes:
    - "Adjusting the Active Border"
    - "Clipping Embedded Facets"
    - "Embedding a Frame"
    - "Making a Frame Visible"
    - "Removing an Embedded Frame"
    - "Frame Link Status"
    - "Frame Groups and Sequencing"

Other optional recipes or documents for informational purposes:

- "Imaging and Layout Recipes" recipes:
  - "Creating and Using Offscreen Canvases"

- "Standards" recipes:
  - "Parameters and Memory in OpenDoc"

- "Storage" recipes:
  - "Storage Unit Manipulation Recipes/Examples"
  - "Persistent References"
  - "Reference Counting"
  - "Cloning Mechanism"
  - "Persistent Objects Removal"
  - "Alternate Container Suite Use"
  - "Bento Container Suite"

- "Shell Plug-In"

- Appendix E. "Sample Utilities" recipes:
  - "Exception Handling"
  - "Temporary References and Objects"

[ Top | Previous | Next | Contents | Index | Documentation Homepage ]