InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CDragDropSource Class Reference

#include <CDragDropSource.h>

Inheritance diagram for CDragDropSource:
IDragDropSourceIPMUnknownBscDNDCustomDragSourceBscDNDDragSourceCusDtLnkUIDragDropSourcePnlTrvDragDropSource

Public Member Functions

 CDragDropSource (IPMUnknown *boss)
 
virtual bool16 WillDrag (IEvent *e) const
 
virtual CursorSpec GetDragCursor (DragDrop::eTargetResponse, bool16 isDragLocal) const
 
virtual SysWireframe DoMakeDragOutlineRegion () const
 
virtual bool16 DoAddDragContent (IDragDropController *)
 
virtual ErrorCode ProcessDragDropCommand (IDragDropController *, DragDrop::eCommandType)
 
virtual IDataBaseGetSourceDataBase () const
 

Additional Inherited Members

- Public Types inherited from IDragDropSource
enum  { kDefaultIID = IID_IDRAGDROPSOURCE }
 

Detailed Description

Basic implementation of the IDragDropSource interface, representing the source object that initiates a drag drop operation. Implementors of IDragDropSource should derive from either this or CDragDropSource_Extensible.

See Also
IDragDropSource, CDragDropSource_Extensible

Member Function Documentation

virtual bool16 CDragDropSource::DoAddDragContent (IDragDropController)
virtual

Override this to add your own content to the drag, default implementation adds a bit of text data to the drag for demonstration purposes.

Implements IDragDropSource.

Reimplemented in BscDNDCustomDragSource, BscDNDDragSource, PnlTrvDragDropSource, and CusDtLnkUIDragDropSource.

virtual SysWireframe CDragDropSource::DoMakeDragOutlineRegion () const
virtual

Override this if you want to use non-standard drag outline for the data being dragged (which is pretty common), default implementation returns DragDrop::kDefaultDragOutline which uses the source widget's bounds.

Implements IDragDropSource.

virtual CursorSpec CDragDropSource::GetDragCursor (DragDrop::eTargetResponse ,
bool16 isDragLocal 
) const
virtual

Override this if you want to use non-standard drag cursors (which is pretty common), default implementation returns DragDrop::kDefaultDragCursors

Implements IDragDropSource.

virtual IDataBase* CDragDropSource::GetSourceDataBase () const
virtual

Override this if your source needs to support removing data when it is moved to another target (or the trash), default implementation returns nil, which implies that data cannot be "moved" to any target not identical to this one.

Implements IDragDropSource.

virtual ErrorCode CDragDropSource::ProcessDragDropCommand (IDragDropController,
DragDrop::eCommandType  
)
virtual

Override this if your source needs to support removing data when it is moved to another target (or the trash), default implementation returns kFailure

Implements IDragDropSource.

virtual bool16 CDragDropSource::WillDrag (IEvente) const
virtual

Override this if you can only start drags from certain areas within the source widget, default implementation always returns kTrue

Implements IDragDropSource.

Reimplemented in BscDNDCustomDragSource, BscDNDDragSource, PnlTrvDragDropSource, and CusDtLnkUIDragDropSource.