#include <wx/dnd.h>
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().
Public Member Functions | |
wxDropTarget (wxDataObject *data=nullptr) | |
Constructor. More... | |
virtual | ~wxDropTarget () |
Destructor. More... | |
virtual bool | GetData () |
This method may only be called from within OnData(). More... | |
virtual wxDragResult | OnData (wxCoord x, wxCoord y, wxDragResult defResult)=0 |
Called after OnDrop() returns true. More... | |
virtual wxDragResult | OnDragOver (wxCoord x, wxCoord y, wxDragResult defResult) |
Called when the mouse is being dragged over the drop target. More... | |
virtual bool | OnDrop (wxCoord x, wxCoord y) |
Called when the user drops a data object on the target. More... | |
virtual wxDragResult | OnEnter (wxCoord x, wxCoord y, wxDragResult defResult) |
Called when the mouse enters the drop target. More... | |
virtual void | OnLeave () |
Called when the mouse leaves the drop target. More... | |
wxDataObject * | GetDataObject () const |
Returns the data wxDataObject associated with the drop target. More... | |
void | SetDataObject (wxDataObject *data) |
Sets the data wxDataObject associated with the drop target and deletes any previously associated data object. More... | |
void | SetDefaultAction (wxDragResult action) |
Sets the default action for drag and drop. More... | |
wxDragResult | GetDefaultAction () |
Returns default action for drag and drop or wxDragNone if this not specified. More... | |
wxDropTarget::wxDropTarget | ( | wxDataObject * | data = nullptr | ) |
Constructor.
data is the data to be associated with the drop target.
|
virtual |
Destructor.
Deletes the associated data object, if any.
|
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.
wxDataObject* wxDropTarget::GetDataObject | ( | ) | const |
Returns the data wxDataObject associated with the drop target.
wxDragResult wxDropTarget::GetDefaultAction | ( | ) |
Returns default action for drag and drop or wxDragNone if this not specified.
|
pure virtual |
|
virtual |
Called when the mouse is being dragged over the drop target.
By default, this calls functions return the suggested return value defResult.
x | The x coordinate of the mouse. |
y | The y coordinate of the mouse. |
defResult | Suggested value for return value. Determined by SHIFT or CONTROL key states. |
Called when the user drops a data object on the target.
Return false to veto the operation.
x | The x coordinate of the mouse. |
y | The y coordinate of the mouse. |
Reimplemented in wxFileDropTarget, and wxTextDropTarget.
|
virtual |
Called when the mouse enters the drop target.
By default, this calls OnDragOver().
x | The x coordinate of the mouse. |
y | The y coordinate of the mouse. |
defResult | Suggested default for return value. Determined by SHIFT or CONTROL key states. |
|
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.
void wxDropTarget::SetDefaultAction | ( | wxDragResult | action | ) |
Sets the default action for drag and drop.
Use wxDragMove or wxDragCopy to set default action to move or copy and use wxDragNone (default) to set default action specified by initialization of dragging (see wxDropSource::DoDragDrop())