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

#include <DragDropConstants.h>

Classes

class  TargetResponse
 

Public Types

enum  eCursorType { kDefaultDragCursors = -99 }
 
enum  eOutlineType { kNoDragOutline = 0, kDefaultDragOutline = -1 }
 
enum  eTargetHiliteType { kNoDropHilite = 0, kDefaultDropHilite = -1, kTargetWillDrawDropHilite = kNoDropHilite }
 
enum  eTargetWillDrawTrackingFeedback { kUseDefaultTrackingFeedback = 0, kTargetWillDrawTrackingFeedback = 1 }
 
enum  eTargetWillProvideCursorFeedback { kUseDefaultCursorFeedback = 0, kTargetWillProvideCursorFeedback = 1 }
 
enum  eTargetTrackingBehavior { kUseDefaultTargetTracking = 0, kTargetTrackingBehaviorIsSticky = 1 }
 
enum  eTargetResponse {
  kWontAcceptDrop = 0, kDropWillCopy = 1, kDropWillMove = 2, kDropWillLink = 4,
  kNoDropEffectCursor = -1
}
 
enum  eCommandType {
  kDragCommand = 0, kDragMoveCommand, kDropCommand, kDrag = kDragCommand,
  kDragMove = kDragMoveCommand, kDrop = kDropCommand
}
 
enum  eHelperType { kDefaultHelper = 0, kAddonHelper = 1, kOverrideHelper = 2 }
 

Static Public Attributes

static const TargetResponse kWontAcceptTargetResponse
 
static const TargetResponse kInvalidTargetResponse
 

Detailed Description

Class/Container used to scope constants and enums specific to Drag Drop operations. (should be a namespace)

Member Enumeration Documentation

constants to represent drag drop command types

See Also
IDragDropTarget::ProcessDragDropCommand, IDragDropSource::ProcessDragDropCommand
Enumerator
kDragCommand 

source should remove the data (moved to different target, or trash)

kDragMoveCommand 

move the data within the source/target

kDropCommand 

target should copy the data

constant to indicate that the platform default drag feedback cursors should be used

See Also
IDragDropSource::GetDragCursor

Types of DragDrop/ScrapSuite flavor helpers: used to resolve situations where more than one helper is capable of handling a DragDrop or Clipboard operation.

See Also
IDragDropTargetFlavorHelper::GetHelperType, IDragDropSourceContentHelper::GetHelperType, IScrapSuitePasteHelper::GetHelperType
Enumerator
kDefaultHelper 

behavior that ships with InDesign (lowest priority)

kAddonHelper 

behavior added to what ships in InDesign (takes precedence over default behavior)

kOverrideHelper 

behavior that overrides all other helpers (highest priority - please use sparingly)

constants for indicating drag outline behavior

See Also
IDragDropSource::DoMakeDragOutlineRegion
Enumerator
kNoDragOutline 

no drag outline

kDefaultDragOutline 

grey drag outline (default)

constants to indicate the type of drop target highlighting to be used.

See Also
IDragDropTarget::DoMakeDropHiliteRegion
Enumerator
kNoDropHilite 

no target highlighting will be provided

kDefaultDropHilite 

use platform default target highlighting - in the modern world of color this is often difficult to see

kTargetWillDrawDropHilite 

target will draw it's own highlighting in DoDragEnter and DoDragLeave

constants to indicate what the drop target intends to do with the drag data

See Also
DragDrop::TargetResponse
Enumerator
kWontAcceptDrop 

target cannot accept the data in the drop

kDropWillCopy 

target will copy the data in the drop

kDropWillMove 

target will move the data in the drop from one location to another

kDropWillLink 

target will create a link to orifinal location of the data in the drop

kNoDropEffectCursor 

INTERNAL USE ONLY: a constant reserved for use within the drag drop framework

constants to indicate whether the drag drop framework should treat a drop target as being a "sticky target". Once the framework has set a sticky target as the active target, this target will remain the active target even if mouse moves outside the sticky target until such time as the mouse enters a new valid target. Default target behavior is non-sticky. Stick targets are used to achieve behavior similar to I-beam

See Also
DragDrop::TargetResponse
Enumerator
kUseDefaultTargetTracking 

default drop target selection behavior

kTargetTrackingBehaviorIsSticky 

drop target will have sticky behavior

constants to indicate whether a drop target will draw its own feedback for the data being dragged

See Also
DragDrop::TargetResponse
Enumerator
kUseDefaultTrackingFeedback 

default drag feedback should be used

kTargetWillDrawTrackingFeedback 

target will draw drag feedback while drag is within it's bounds

constants to indicate whether a drop target will provide its own cursors for the data being dragged

See Also
DragDrop::TargetResponse
IDragDropTarget::DoDragWithin, IDragDropController::SetTrackingCursorFeedback, IDragDropController::GetDefaultTrackingCursorFeedback
Enumerator
kUseDefaultCursorFeedback 

default drag cursors should be used

kTargetWillProvideCursorFeedback 

target will provide its own cursors, and set them appropriately

Member Data Documentation

const TargetResponse DragDrop::kInvalidTargetResponse
static

TargetResponse constant to indicate an invalid response - something went wrong in the target

const TargetResponse DragDrop::kWontAcceptTargetResponse
static

TargetResponse constant to indicate target could not accept the drop