This class represents a source for a drag and drop operation.
-See \helpref{Drag'n'Drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview}
+See \helpref{Drag and drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview}
for more information.
\wxheading{Derived from}
\index{wxDragResult}wxDragResult is defined as follows:
-{\small\begin{verbatim}
+\begin{verbatim}
enum wxDragResult
{
wxDragError, // error prevented the d&d operation from completing
wxDragCancel // the operation was cancelled by user (not an error)
};
\end{verbatim}
-}
\wxheading{See also}
\membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource}
-\func{}{wxDropSource}{\param{wxWindow*}{ win = NULL}}
+\func{}{wxDropSource}{\param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconMove = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}}
-Default/wxGTK-specific constructor. If you use the default constructor you must
-call \helpref{SetData}{wxdropsourcesetdata} later.
+\func{}{wxDropSource}{\param{wxDataObject\&}{ data}, \param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconMove = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}}
-Note that {\it win} is required by the GTK port and therefore should always be set.
+The constructors for wxDataObject.
+
+If you use the constructor without {\it data} parameter you must call
+\helpref{SetData}{wxdropsourcesetdata} later.
+
+Note that the exact type of {\it iconCopy} and subsequent parameters differs
+between wxMSW and wxGTK: these are cursors under Windows but icons for GTK.
+You should use the macro \helpref{wxDROP\_ICON}{wxdropicon} in portable
+programs instead of directly using either of these types.
+
+\wxheading{Parameters}
+
+\docparam{win}{The window which initiates the drag and drop operation.}
+
+\docparam{iconCopy}{The icon or cursor used for feedback for copy operation.}
+
+\docparam{iconMove}{The icon or cursor used for feedback for move operation.}
+
+\docparam{iconNone}{The icon or cursor used for feedback when operation can't be done.}
+
+{\it win} is the window which initiates the drag and drop operation.
\membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor}
\membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
-\func{virtual wxDragResult}{DoDragDrop}{\param{bool }{allowMove = FALSE}}
+\func{virtual wxDragResult}{DoDragDrop}{\param{int }{flags = {\tt wxDrag\_CopyOnly}}}
-Do it (call this in response to a mouse button press, for example).
+Do it (call this in response to a mouse button press, for example). This starts
+the drag-and-drop operation which will terminate when the user releases the
+mouse.
+
+\wxheading{Parameters}
+
+\docparam{flags}{If {\tt wxDrag\_AllowMove} is included in the flags, data may
+be moved and not only copied (default). If {\tt wxDrag\_DefaultMove} is
+specified (which includes the previous flag), this is even the default
+operation}.
+
+\wxheading{Return value}
-If {\bf allowMove} is FALSE, data can only be copied.
+Returns the operation requested by the user, may be {\tt wxDragCopy}, {\tt
+wxDragMove}, {\tt wxDragCancel} or {\tt wxDragNone} if an error occured.
\membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback}
-\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{scrolling}}
+\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}}
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
\docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove and wxDragNone. }
-\docparam{scrolling}{TRUE if the window is scrolling. MSW only. }
+\docparam{scrolling}{true if the window is scrolling. MSW only. }
\wxheading{Return value}
-Return FALSE if you want default feedback, or TRUE if you implement your own
+Return false if you want default feedback, or true if you implement your own
feedback. The return values is ignored under GTK.