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, possibly many times OnDragOver, OnDrop and finally OnData.
See Drag and drop overview and wxDataObject overview for more information.
Derived from
None
Include files
<wx/dnd.h>
Types
wxDragResult is defined as follows:
enum wxDragResult { wxDragError, // error prevented the d&d operation from completing wxDragNone, // drag target didn't accept the data wxDragCopy, // the data was successfully copied wxDragMove, // the data was successfully moved (MSW only) wxDragLink, // operation is a drag-link wxDragCancel // the operation was cancelled by user (not an error) };See also
wxDropSource, wxTextDropTarget, wxFileDropTarget, wxDataFormat, wxDataObject
Members
wxDropTarget::wxDropTarget
wxDropTarget::~wxDropTarget
wxDropTarget::GetData
wxDropTarget::OnData
wxDropTarget::OnDrop
wxDropTarget::OnEnter
wxDropTarget::OnDragOver
wxDropTarget::OnLeave
wxDropTarget::SetDataObject
wxDropTarget(wxDataObject* data = NULL)
Constructor. data is the data to be associated with the drop target.
~wxDropTarget()
Destructor. Deletes the associated data object, if any.
virtual void GetData()
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 OnData(wxCoord x, wxCoord y, wxDragResult def)
Called after OnDrop returns true. By default this will usually GetData and will return the suggested default value def.
virtual bool OnDrop(wxCoord x, wxCoord y)
Called when the user drops a data object on the target. Return false to veto the operation.
Parameters
x
y
Return value
Return true to accept the data, false to veto the operation.
virtual wxDragResult OnEnter(wxCoord x, wxCoord y, wxDragResult def)
Called when the mouse enters the drop target. By default, this calls OnDragOver.
Parameters
x
y
def
Return value
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 wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
Called when the mouse is being dragged over the drop target. By default, this calls functions return the suggested return value def.
Parameters
x
y
def
Return value
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 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.