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

#include <CDragDropSource_Extensible.h>

Inheritance diagram for CDragDropSource_Extensible:
IDragDropSourceIPMUnknown

Public Member Functions

 CDragDropSource_Extensible (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
 
virtual ServiceID GetContentHelperServiceID () const =0
 
IDragDropSourceContentHelperQueryActiveContentHelper () const
 
IDragDropSourceContentHelperGetActiveContentHelper () const
 
void SetActiveContentHelper (IDragDropSourceContentHelper *)
 
bool16 Delegate_WillDrag (IEvent *e)
 
CursorSpec Delegate_GetDragCursor (DragDrop::eTargetResponse, bool16 isDragLocal)
 
SysWireframe Delegate_DoMakeDragOutlineRegion ()
 

Additional Inherited Members

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

Detailed Description

Extensible 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.

See Also
IDragDropSource, IDragDropSourceContentHelper

Member Function Documentation

SysWireframe CDragDropSource_Extensible::Delegate_DoMakeDragOutlineRegion ()

Forwards the CreateDragOutlineRegion method to the active content helper.

CursorSpec CDragDropSource_Extensible::Delegate_GetDragCursor (DragDrop::eTargetResponse ,
bool16 isDragLocal 
)

Forwards the GetDragCursor method to the active content helper.

bool16 CDragDropSource_Extensible::Delegate_WillDrag (IEvente)

Forwards the CouldStartDrag call to the content helpers for this target, to determine if a drag can be started at the specified location. Helper responses are prioritized based on the eHelperType returned by the helper. If a willing helper is found, it is set as the active content helper and the drag proceeds.

virtual bool16 CDragDropSource_Extensible::DoAddDragContent (IDragDropController)
virtual

Default implementation forwards the DoAddDragContent method to the active content helper.

Implements IDragDropSource.

virtual SysWireframe CDragDropSource_Extensible::DoMakeDragOutlineRegion () const
virtual

Default implementation calls Delegate_DoMakeDragOutlineRegion to query the active content helper for the drag outline region.

Implements IDragDropSource.

IDragDropSourceContentHelper* CDragDropSource_Extensible::GetActiveContentHelper () const

Get the active content handler, nil if one has not been set.

virtual ServiceID CDragDropSource_Extensible::GetContentHelperServiceID () const
pure virtual

Override this to return the service ID that content helpers for this source will respond to.

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

Default implementation calls Delegate_GetDragCursor to query the active content helper for the drag cursor.

Implements IDragDropSource.

virtual IDataBase* CDragDropSource_Extensible::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_Extensible::ProcessDragDropCommand (IDragDropController,
DragDrop::eCommandType  
)
virtual

Default implementation forwards the ProcessDragDropCommand method to the active content helper.

Implements IDragDropSource.

IDragDropSourceContentHelper* CDragDropSource_Extensible::QueryActiveContentHelper () const

Query for the active content handler, nil if one has not been set.

void CDragDropSource_Extensible::SetActiveContentHelper (IDragDropSourceContentHelper)

Set the active content handler. Called by Delegate_WillDrag when/if it finds a helper willing to start a drag.

virtual bool16 CDragDropSource_Extensible::WillDrag (IEvente) const
virtual

Default implementation calls Delegate_WillDrag to query content helpers to start the drag. When overriding this method, make sure to call the inherited version.

Implements IDragDropSource.