# wxDropTarget Class Reference
[Clipboard and Drag & Drop]

`#include <wx/dnd.h>`

Inheritance diagram for wxDropTarget:
[legend]

## Detailed Description

This class represents a target for a drag and drop operation.

A wxDataObject can be associated with it and by default, this object will be filled with the data from the drag source, if the data formats supported by the data object match the drag source data format.

There are various virtual handler functions defined in this class which may be overridden to give visual feedback or react in a more fine-tuned way, e.g. by not accepting data on the whole window area, but only a small portion of it. The normal sequence of calls is OnEnter(), OnDragOver() possibly many times, OnDrop() and finally OnData().

##

Library: wxCore

Category: Clipboard and Drag & Drop

See also:
  Drag and Drop Overview, wxDataObject Overview, wxDropSource, wxTextDropTarget, wxFileDropTarget, wxDataFormat, wxDataObject

## Public Member Functions
| wxDropTarget (wxDataObject *data=NULL)
| Constructor.
virtual | ~wxDropTarget ()
| Destructor.
virtual bool | GetData ()
| This method may only be called from within OnData().
virtual wxDragResult | OnData (wxCoord x, wxCoord y, wxDragResult def)
| Called after OnDrop() returns true.
virtual wxDragResult | OnDragOver (wxCoord x, wxCoord y, wxDragResult def)
| Called when the mouse is being dragged over the drop target.
virtual bool | OnDrop (wxCoord x, wxCoord y)
| Called when the user drops a data object on the target.
virtual wxDragResult | OnEnter (wxCoord x, wxCoord y, wxDragResult def)
| Called when the mouse enters the drop target.
virtual void | OnLeave ()
| Called when the mouse leaves the drop target.
void | SetDataObject (wxDataObject *data)
| Sets the data wxDataObject associated with the drop target and deletes any previously associated data object.

List of all members.

## Constructor & Destructor Documentation

wxDropTarget::wxDropTarget | ( | wxDataObject * | data = `NULL` | ) |

Constructor.

data is the data to be associated with the drop target.

virtual wxDropTarget::~wxDropTarget | ( |  | ) | `[virtual]`

Destructor.

Deletes the associated data object, if any.

## Member Function Documentation

virtual bool wxDropTarget::GetData | ( |  | ) | `[virtual]`

This method may only be called from within OnData().

By default, this method copies the data from the drop source to the wxDataObject associated with this drop target, calling its wxDataObject::SetData() method.

virtual wxDragResult wxDropTarget::OnData | ( | wxCoord | x,
|  | wxCoord | y,
|  | wxDragResult | def |
| ) |  |  | `[virtual]`

Called after OnDrop() returns true.

By default this will usually GetData() and will return the suggested default value def.

virtual wxDragResult wxDropTarget::OnDragOver | ( | wxCoord | x,
|  | wxCoord | y,
|  | wxDragResult | def |
| ) |  |  | `[virtual]`

Called when the mouse is being dragged over the drop target.

By default, this calls functions return the suggested return value def.

Parameters:

  | x | The x coordinate of the mouse.
  | y | The y coordinate of the mouse.
  | def | Suggested value for return value. Determined by SHIFT or CONTROL key states.

Returns:
  The desired operation or wxDragNone. This is used for optical feedback from the side of the drop source, typically in form of changing the icon.

virtual bool wxDropTarget::OnDrop | ( | wxCoord | x,
|  | wxCoord | y |
| ) |  |  | `[virtual]`

Called when the user drops a data object on the target.

Return false to veto the operation.

Parameters:

  | x | The x coordinate of the mouse.
  | y | The y coordinate of the mouse.

Returns:
  true to accept the data, or false to veto the operation.

Reimplemented in wxTextDropTarget, and wxFileDropTarget.

virtual wxDragResult wxDropTarget::OnEnter | ( | wxCoord | x,
|  | wxCoord | y,
|  | wxDragResult | def |
| ) |  |  | `[virtual]`

Called when the mouse enters the drop target.

By default, this calls OnDragOver().

Parameters:

  | x | The x coordinate of the mouse.
  | y | The y coordinate of the mouse.
  | def | Suggested default for return value. Determined by SHIFT or CONTROL key states.

Returns:
  The desired operation or wxDragNone. This is used for optical feedback from the side of the drop source, typically in form of changing the icon.

virtual void wxDropTarget::OnLeave | ( |  | ) | `[virtual]`

Called when the mouse leaves the drop target.

void wxDropTarget::SetDataObject | ( | wxDataObject * | data | ) |

Sets the data wxDataObject associated with the drop target and deletes any previously associated data object.

|  | [ top ]