Some client applications will need only the simple methods discussed in the preceding sections for inserting linked and embedded objects. Most applications, however, may want to provide additional control with the Paste Special command.
Applications can interpret and edit data in a variety of formats. Possible formats include: rich text format (RTF), ASCII text, bitmaps, and object-oriented picture formats. These applications may provide a Paste Special command on the Edit menu to provide greater control over the format to be pasted.
By default, the standard Paste and Paste Link commands look on the clipboard for a format that completely represents the original data and that the client application can edit with its own tools. If such a format is found, the original data is translated into that format and inserted into the client. If a preferred format is not found, an image representing the original data is usually inserted. In some cases, however, the user may want to override the default format. For example, special tools or editing operations (for example, rotation, translation, applying format) might be available only for a non-default format (for example, copying the format, but not the contents, of a paragraph to another paragraph). Alternatively, the user might want to force the data to be inserted as an embedded object so that the tools of the original creator application can easily be invoked to edit the object. Client applications should support these format choices with the Paste Special dialog box shown in Figure 15.
Note Although not shown, a Help button may be included in the Paste Special dialog box if elaboration on data types or paste behavior is useful.
Figure 15. Paste Special dialog box
The Data Type list in the Paste Special dialog box shows the formats available on the clipboard that the client can process. The names of these formats should clearly suggest the resulting capability of the pasted information. The list also includes one additional entry, <Descriptive-Class-Name> Object (for example, Microsoft Excel Worksheet Object). When the dialog opens, the format that would have been used if the Paste command had been selected from the Edit menu is highlighted. The dialog box contains two command buttons, Paste and Paste Link, which client applications process as follows:
The Paste button translates the data into the selected format and inserts it into the document without establishing a link to the original source of the data. (If the user does not change the default format that is originally selected in the list, pressing Paste in this dialog is equivalent to choosing Paste from the Edit menu.) If the user selects <Descriptive-Class-Name> Object instead of a data format, the data is not translated into a native format, but is instead inserted as an embedded object.
Like Paste, the Paste Link button translates the data into the selected format and inserts it into the document. (If a particular data type cannot support a link, the Paste Link button is dimmed.) Unlike Paste, however, Paste Link establishes an automatic link to the original source of the data. Because the Paste Special dialog provides a superset of the functionality provided by the Paste Link command, applications that include Paste Special need not include Paste Link. The Paste Link button should be dimmed only when the clipboard does not contain an object link format. Paste-linking <Descriptive-Class-Name> Object behaves like any other link, that is, it inserts a facade into the container document along with a reference to the source file.