![]() | InDesign SDK 20.5 |
#include <IScrapSuitePasteHelper.h>

Public Types | |
| enum | { kDefaultIID = IID_ISCRAPSUITEPASTEHELPER } |
Public Member Functions | |
| virtual DragDrop::eHelperType | GetHelperType () const =0 |
| virtual DataExchangeResponse | CanPaste (const IScrapSuite *, IDataExchangeController *dataController) const =0 |
| virtual DataExchangeResponse | CanPasteInside (const IScrapSuite *, IDataExchangeController *dataController, IControlView *view=nil, const PBPMPoint &point=kInvalidPoint) const =0 |
| virtual void | AddInternalizeableFlavorsToList (const IScrapSuite *, IDataExchangeController *, OrderedFlavorList &flavorList) const =0 |
| virtual ErrorCode | Paste (const IScrapSuite *, IClipboardController *clipboard, IControlView *view, bool16 ignoreAttributes=kFalse)=0 |
| virtual ErrorCode | PasteInside (const IScrapSuite *, IClipboardController *clipboard, IControlView *view, const PBPMPoint &point=kInvalidPoint)=0 |
| virtual ErrorCode | PasteFromScrap (const IScrapSuite *, IDataExchangeController *dataController, IControlView *view, bool16 ignoreAttributes=kFalse)=0 |
| virtual ErrorCode | PasteInsideFromScrap (const IScrapSuite *, IDataExchangeController *dataController, IControlView *view, const PBPMPoint &point=kInvalidPoint)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
IID_ISCRAPSUITEPASTEHELPER interface; This interface is used to add extensibility to IScrapSuite. Scrap suite extensibility requires the suite be derived from CScrapSuite_Extensible. Create a new boss with an IScrapSuitePasteHelper implementation combined with a IK2ServiceProvider implementation that corresponds to the service ID defined by the extensible scrap suite implementation.
When the framework asks an extensible scrap suite if it could perform a paste (or paste inside), the suite then asks each of it's paste helpers if they could perform a paste based on the data flavors on the clipboard. One helper is chosen based on willingness to do so, and in the case of multiple helpers, prioritized by helper type. The extensible suite then forwards the subsequent paste call to the chosen helper.
| pure virtual |
Get the external flavors that can be converted during Internalize (or Paste) Flavors should be added to the end of the list, in order by quality of the conversion (highest quality first). The helper function AppendFlavorIfUnique should be used.
| suite | IN handler this helper is associated with |
| dataController | IN the controller (shouldn't be needed here) |
| flavorList | IN/OUT add flavors to the end of list |
| pure virtual |
Could the helper perform a paste with the current data from a data exchange controller (not necessarily the clipboard).
| suite | IN the scrap suite this helper is assisting |
| dataController | IN the controller holding the data |
| pure virtual |
Could the helper perform a paste inside with the current data from a data exchange controller (not necessarily the clipboard).
| suite | IN the scrap suite this helper is assisting |
| dataController | IN the controller holding the data |
| view | IN optional active view parameter (this parameter remains for historical reasons) |
| point | IN point in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis. (this parameter remains for historical reasons) |
| pure virtual |
Return the type or priority of the helper. This is used to resolve conflicts that can arise when more than one paste helper is capable of performing a paste operation. The presence of multiple helpers is not a conflict, a conflict would arise when one helper wants to replace or augment what another helper already does.
| pure virtual |
Paste item(s) from the clipboard to the active context
| suite | IN the scrap suite this helper is assisting |
| clipboard | IN the clipboard controller |
| view | IN currently active view (this parameter remains for historical reasons) |
| ignoreAttributes | Ignore the attributes when pasting, default to kFalse |
| pure virtual |
Paste item(s) from a data exchange controller to the active context
| suite | IN the scrap suite this helper is assisting |
| dataController | IN the controller holding the data |
| view | IN currently active view (this parameter remains for historical reasons) |
| kFalse | INOUT DESCRIPTION |
| pure virtual |
Paste item(s) on the clipboard inside the selected item (first of selected items)
| suite | IN the scrap suite this helper is assisting |
| clipboard | IN the clipboard controller |
| view | IN currently active view (this parameter remains for historical reasons) |
| point | IN point in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis. (this parameter remains for historical reasons) |
| pure virtual |
Paste item(s) from a data exchange controller inside the selected item (first of selected items)
| suite | IN the scrap suite this helper is assisting |
| dataController | IN the controller holding the data |
| view | IN currently active view (this parameter remains for historical reasons) |
| point | IN point in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis. (this parameter remains for historical reasons) |