InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CScrapSuite_Extensible Class Referenceabstract

#include <CScrapSuite_Extensible.h>

Inheritance diagram for CScrapSuite_Extensible:
CPMUnknown< IScrapSuite >IScrapSuiteIPMUnknown

Public Member Functions

 CScrapSuite_Extensible (IPMUnknown *boss)
 
virtual ErrorCode Cut (IClipboardController *clipboard)
 
virtual ErrorCode Clear ()=0
 
virtual ErrorCode Copy (IClipboardController *clipboard)=0
 
virtual ErrorCode Duplicate (const PBPMPoint &offset, IControlView *view, bool8 selectDuplicate=kTrue)=0
 
virtual ErrorCode CopyToScrap (IDataExchangeController *dataController)=0
 
virtual void BuildFlavorListForExternalize (IDataExchangeController *dataController, OrderedFlavorList &flavorList) const =0
 
virtual void BuildFlavorListForInternalize (IDataExchangeController *dataController, OrderedFlavorList &flavorList) const
 
virtual ServiceID GetScrapSuitePasteHelperServiceID () const =0
 
Extensible Abilities

The following methods have been overridden to delegate to the paste helpers associated with this scrap suite. Framework use only - subclasses should not override these methods.

virtual bool16 CanPaste (IClipboardController *clipboard)
 
virtual bool16 CanPasteInside (IClipboardController *clipboard, IControlView *view=nil, const PBPMPoint &point=kInvalidPoint)
 
virtual bool16 CanCut (IClipboardController *clipboard)
 
Extensible Manipulators

The following methods methods have been overridden to delegate to the paste helpers associated with this scrap suite. Framework use only - subclasses should not override these methods.

virtual ErrorCode Paste (IClipboardController *clipboard, IControlView *view, bool16 ignoreAttributes)
 
virtual ErrorCode PasteInside (IClipboardController *clipboard, IControlView *view, const PBPMPoint &point=kInvalidPoint)
 
virtual ErrorCode PasteFromScrap (IDataExchangeController *dataController, IControlView *view, bool16 ignoreAttributes)
 
virtual ErrorCode PasteInsideFromScrap (IDataExchangeController *dataController, IControlView *view, const PBPMPoint &point=kInvalidPoint)
 
- Public Member Functions inherited from CPMUnknown< IScrapSuite >
IPMUnknownQueryInterface (PMIID interfaceID) const
 
void AddRef () const
 
void Release () const
 
void PreDirty (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
void PreDirtyNoMessage (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
 CPMUnknown (const CPMUnknown &)=delete
 
CPMUnknownoperator= (const CPMUnknown &)=delete
 
- Public Member Functions inherited from IScrapSuite
virtual bool16 CanDeselectAll ()=0
 
virtual ErrorCode DeselectAll ()=0
 

eActionType

enumeration of the different actions an IScrapSuitePasteHelper can be called upon to perform

enum  eActionType {
  kPasteAction = 0, kPasteInsideAction, kPasteFromScrapAction, kPasteInsideFromScrapAction,
  kActionType_Max = kPasteInsideFromScrapAction
}
 
virtual bool16 CanClear ()=0
 
virtual bool16 CanCopy (IClipboardController *clipboard)=0
 
virtual bool16 CanDuplicate ()=0
 
virtual bool16 CanSelectionBeCopied () const =0
 
virtual bool16 CanSelectionAcceptPaste () const =0
 
virtual bool16 CanSelectionAcceptPasteInside () const =0
 
virtual bool16 CanPasteInsideAtPoint (IControlView *view, const PBPMPoint &point) const =0
 

Additional Inherited Members

- Public Types inherited from IScrapSuite
enum  { kDefaultIID = IID_ISCRAPSUITE }
 
- Protected Member Functions inherited from CPMUnknown< IScrapSuite >
 CPMUnknown (IPMUnknown *boss)
 
- Protected Attributes inherited from CPMUnknown< IScrapSuite >
HelperInterface fHelperInterface
 

Detailed Description

Extensible implementation of the IScrapSuite interface used for clipboard paste operations. Implementors of IScrapSuite will usually derive from CScrapSuite_Extensible, unless they have a good reason to avoid extensibility.

See Also
IScrapSuite, IScrapSuitePasteHelper

Member Enumeration Documentation

Enumerator
kPasteAction 

paste from the clipboard

kPasteInsideAction 

paste inside from the clipboard

kPasteFromScrapAction 

paste from a controller other than the clipboard (i.e. a library)

kPasteInsideFromScrapAction 

paste inside from a controller other than the clipboard (i.e. a library)

Member Function Documentation

virtual void CScrapSuite_Extensible::BuildFlavorListForExternalize (IDataExchangeControllerdataController,
OrderedFlavorListflavorList 
) const
pure virtual

Get the external flavors that can be Externalized(Copy)

Parameters
dataControllerData exchange controller, such as clipboard, dragdrop, libraryscrapcontroller etc.
flavorList[IN/OUT] flavor list, store result
Returns

Implements IScrapSuite.

virtual void CScrapSuite_Extensible::BuildFlavorListForInternalize (IDataExchangeControllerdataController,
OrderedFlavorListflavorList 
) const
virtual

Overridden to delegate to the paste helpers associated with this scrap suite.

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanClear ()
pure virtual

Can the (selected) pageitem(s) be cleared?

Parameters
none
Returns

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanCopy (IClipboardControllerclipboard)
pure virtual

Can the (selected) pageitem(s) be copied?

Parameters
clipboardthe clipboard the items copied to
Returns

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanCut (IClipboardControllerclipboard)
virtual

Can the (selected) pageitem(s) be cut?

Parameters
clipboardthe clipboard the items copied to
Returns

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanDuplicate ()
pure virtual

Can the (selected) pageitem(s) be duplicated?

Parameters
none
Returns
bool16

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanPaste (IClipboardControllerclipboard)
virtual

Can the pageitem(s) in the clipboard be pasted (selection accept paste)?

Parameters
clipboardthe clipboard stores the items
Returns

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanPasteInside (IClipboardControllerclipboard,
IControlViewview = nil,
const PBPMPointpoint = kInvalidPoint 
)
virtual

Can the pageitem(s) in the clipboard be pasted inside to selection?

Parameters
clipboardthe clipboard stores the items
viewControl view for the point. Use nil to use selection for paste inside.
thePointpoint in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis.
Returns

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanPasteInsideAtPoint (IControlViewview,
const PBPMPointpoint 
) const
pure virtual

Does current selection accept pasteinside?

Parameters
viewControl view paste to(ususally front view; active context's view)
Returns
kTrue if this point location can accept paste inside, kFalse otherwise.

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanSelectionAcceptPaste () const
pure virtual

Does current selection accept paste?

Parameters
none
Returns
kTrue if selection can accept paste, kFalse otherwise.

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanSelectionAcceptPasteInside () const
pure virtual

Does current selection accept pasteinside?

Parameters
none
Returns
kTrue if selection can accept paste inside, kFalse otherwise.

Implements IScrapSuite.

virtual bool16 CScrapSuite_Extensible::CanSelectionBeCopied () const
pure virtual

Can current selection be copied?

Parameters
none
Returns

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::Clear ()
pure virtual

Clear (delete) the selection

Parameters
none
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::Copy (IClipboardControllerclipboard)
pure virtual

Copy item or selection to clipboard

Parameters
clipboardthe clipboard the items copied to
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::CopyToScrap (IDataExchangeControllerdataController)
pure virtual

Copy item or selection to scrap (specified by dataController)

Parameters
dataControllerData exchange controller, such as clipboard, dragdrop, libraryscrapcontroller etc.
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::Cut (IClipboardControllerclipboard)
virtual

Provides the default implementation of Copy followed by Clear

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::Duplicate (const PBPMPointoffset,
IControlViewview,
bool8 selectDuplicate = kTrue 
)
pure virtual

Duplicate a page item

Parameters
offsetoffset relative to original item
viewControl view to duplicate item to(ususally front view; active context's view)
selectDuplicateif kTrue (default), select the duplicated item
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ServiceID CScrapSuite_Extensible::GetScrapSuitePasteHelperServiceID () const
pure virtual

Override this to return the service ID that paste helpers for this suite will respond to.

virtual ErrorCode CScrapSuite_Extensible::Paste (IClipboardControllerclipboard,
IControlViewview,
bool16 ignoreAttributes 
)
virtual

Paste item from the clipboard to the view

Parameters
clipboardthe clipboard the items pasted from
viewControl view paste to(ususally front view; active context's view)
ignoreAttributesIgnore the attributes when pasting, default to kFalse
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::PasteFromScrap (IDataExchangeControllerdataController,
IControlViewview,
bool16 ignoreAttributes 
)
virtual

Paste item from scrap (specified by dataController) to the view

Parameters
dataControllerData exchange controller, such as clipboard, dragdrop, libraryscrapcontroller etc.
viewControl view to paste item to(ususally front view; active context's view)
ignoreAttributesIgnore the attributes when pasting from scrap, default to kFalse
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::PasteInside (IClipboardControllerclipboard,
IControlViewview,
const PBPMPointpoint = kInvalidPoint 
)
virtual

Paste item on the clipboard inside to selected item (first of selected items)

Parameters
clipboardthe clipboard the items pasted from
viewControl view paste to(ususally front view; active context's view)
thePointpoint in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis.
Returns
Command sequence processing result

Implements IScrapSuite.

virtual ErrorCode CScrapSuite_Extensible::PasteInsideFromScrap (IDataExchangeControllerdataController,
IControlViewview,
const PBPMPointpoint = kInvalidPoint 
)
virtual

Paste item from scrap (specified by dataController) insdie to the selected item in the view

Parameters
dataControllerData exchange controller, such as clipboard, dragdrop, libraryscrapcontroller etc.
viewControl view to paste item to(ususally front view; active context's view)
thePointpoint in pasteboard coordinates to use for paste inside. Use kInvalidPoint to ignore and use selection as basis.
Returns
Command sequence processing result

Implements IScrapSuite.