This class represents a source for a drag and drop operation.
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 wxDragCancel // the operation was cancelled by user (not an error) };See also
wxDropTarget, wxTextDropTarget, wxFileDropTarget
Members
wxDropSource::wxDropSource
wxDropSource::~wxDropSource
wxDropSource::SetData
wxDropSource::DoDragDrop
wxDropSource::GiveFeedback
wxDropSource(wxWindow* win = NULL,const wxIconOrCursor& iconCopy = wxNullIconOrCursor, const wxIconOrCursor& iconCopy = wxNullIconOrCursor, const wxIconOrCursor& iconNone = wxNullIconOrCursor)
wxDropSource(wxDataObject& data, wxWindow* win = NULL,const wxIconOrCursor& iconCopy = wxNullIconOrCursor, const wxIconOrCursor& iconCopy = wxNullIconOrCursor, const wxIconOrCursor& iconNone = wxNullIconOrCursor)
The constructors for wxDataObject.
If you use the constructor without data parameter you must call SetData later.
Note that the exact type of iconCopy and subsequent parameters differs between wxMSW and wxGTK: these are cursors under Windows but icons for GTK. You should use the macro wxDROP_ICON in portable programs instead of directly using either of these types.
Parameters
win
iconCopy
iconMove
iconNone
win is the window which initiates the drag and drop operation.
virtual ~wxDropSource()
void SetData(wxDataObject& data)
Sets the data wxDataObject associated with the drop source. This will not delete any previously associated data.
virtual wxDragResult DoDragDrop(bool allowMove = FALSE)
Do it (call this in response to a mouse button press, for example).
If allowMove is FALSE, data can only be copied.
virtual bool GiveFeedback(wxDragResult effect, bool scrolling)
Overridable: you may give some custom UI feedback during the drag and drop operation in this function. It is called on each mouse move, so your implementation must not be too slow.
Parameters
effect
scrolling
Return value
Return FALSE if you want default feedback, or TRUE if you implement your own feedback. The return values is ignored under GTK.