| 1 | \section{\class{wxDropSource}}\label{wxdropsource} |
| 2 | |
| 3 | This class represents a source for a drag and drop operation. |
| 4 | |
| 5 | See \helpref{Drag and drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview} |
| 6 | for more information. |
| 7 | |
| 8 | \wxheading{Derived from} |
| 9 | |
| 10 | None |
| 11 | |
| 12 | \wxheading{Include files} |
| 13 | |
| 14 | <wx/dnd.h> |
| 15 | |
| 16 | \wxheading{Types} |
| 17 | |
| 18 | \index{wxDragResult}wxDragResult is defined as follows: |
| 19 | |
| 20 | \begin{verbatim} |
| 21 | enum wxDragResult |
| 22 | { |
| 23 | wxDragError, // error prevented the d&d operation from completing |
| 24 | wxDragNone, // drag target didn't accept the data |
| 25 | wxDragCopy, // the data was successfully copied |
| 26 | wxDragMove, // the data was successfully moved |
| 27 | wxDragCancel // the operation was cancelled by user (not an error) |
| 28 | }; |
| 29 | \end{verbatim} |
| 30 | |
| 31 | \wxheading{See also} |
| 32 | |
| 33 | \helpref{wxDropTarget}{wxdroptarget}, |
| 34 | \helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget} |
| 35 | |
| 36 | \latexignore{\rtfignore{\wxheading{Members}}} |
| 37 | |
| 38 | \membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource} |
| 39 | |
| 40 | \func{}{wxDropSource}{\param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}} |
| 41 | |
| 42 | \func{}{wxDropSource}{\param{wxDataObject\&}{ data}, \param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}} |
| 43 | |
| 44 | The constructors for wxDataObject. |
| 45 | |
| 46 | If you use the constructor without {\it data} parameter you must call |
| 47 | \helpref{SetData}{wxdropsourcesetdata} later. |
| 48 | |
| 49 | Note that the exact type of {\it iconCopy} and subsequent parameters differs |
| 50 | between wxMSW and wxGTK: these are cursors under Windows but icons for GTK. |
| 51 | You should use the macro \helpref{wxDROP\_ICON}{wxdropicon} in portable |
| 52 | programs instead of directly using either of these types. |
| 53 | |
| 54 | \wxheading{Parameters} |
| 55 | |
| 56 | \docparam{win}{The window which initiates the drag and drop operation.} |
| 57 | |
| 58 | \docparam{iconCopy}{The icon or cursor used for feedback for copy operation.} |
| 59 | |
| 60 | \docparam{iconMove}{The icon or cursor used for feedback for move operation.} |
| 61 | |
| 62 | \docparam{iconNone}{The icon or cursor used for feedback when operation can't be done.} |
| 63 | |
| 64 | {\it win} is the window which initiates the drag and drop operation. |
| 65 | |
| 66 | \membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor} |
| 67 | |
| 68 | \func{virtual }{\destruct{wxDropSource}}{\void} |
| 69 | |
| 70 | \membersection{wxDropSource::SetData}\label{wxdropsourcesetdata} |
| 71 | |
| 72 | \func{void}{SetData}{\param{wxDataObject\&}{ data}} |
| 73 | |
| 74 | Sets the data \helpref{wxDataObject}{wxdataobject} associated with the |
| 75 | drop source. This will not delete any previously associated data. |
| 76 | |
| 77 | \membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop} |
| 78 | |
| 79 | \func{virtual wxDragResult}{DoDragDrop}{\param{bool }{allowMove = FALSE}} |
| 80 | |
| 81 | Do it (call this in response to a mouse button press, for example). |
| 82 | |
| 83 | If {\bf allowMove} is FALSE, data can only be copied. |
| 84 | |
| 85 | \membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback} |
| 86 | |
| 87 | \func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{scrolling}} |
| 88 | |
| 89 | Overridable: you may give some custom UI feedback during the drag and drop operation |
| 90 | in this function. It is called on each mouse move, so your implementation must not be too |
| 91 | slow. |
| 92 | |
| 93 | \wxheading{Parameters} |
| 94 | |
| 95 | \docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove and wxDragNone. } |
| 96 | |
| 97 | \docparam{scrolling}{TRUE if the window is scrolling. MSW only. } |
| 98 | |
| 99 | \wxheading{Return value} |
| 100 | |
| 101 | Return FALSE if you want default feedback, or TRUE if you implement your own |
| 102 | feedback. The return values is ignored under GTK. |
| 103 | |