- // or also:
- wxDropSource dragSource(this);
- dragSource.SetData(data);
-\end{verbatim},
-\item{dragging} The call to DoDragDrop() blocks until the user release the
-mouse button (unless you override
-\helpref{GiveFeedback}{wxdropsourcegivefeedback} function to do something
-special). When the mouse moves in a window of a wxWindows program, the
-corresponding wxDropTarget methods are called (the data can be also dragged to
-any other program under Windows or to any program supporting the same protocol
-under X Windows).
-\item{drop} When the user releases the mouse over a window, wxWindows verifies
-if the wxDropTarget object associated (with
-\helpref{SetDropTarget}{setdroptarget}) with this window accepts the data. For
-this, \helpref{GetFormatCount}{wxdroptargetgetformatcount} and
-\helpref{GetFormat}{wxdroptargetgetformat} are used and if the format is
-supported (i.e. is one of returned by GetFormat()), then
-\helpref{OnDrop}{wxdroptargetondrop} is called. Otherwise, wxDragNone is
-returned by DoDragDrop() and nothing happens.
-\item{the end} Finally, the receiver processes the data (e.g. pastes the text
-in it's window). DoDragDrop() returns either wxDragCopy or wxDragMove
-depending on the state of the keys (<Ctrl>, <Shift> and <Alt>) at the moment
-of drop.
+To be a {\it drop target}, i.e. to receive the data dropped by the user you should
+follow the instructions below:
+
+\begin{itemize}\itemsep=0pt
+\item {\bf Initialization:} For a window to be a drop target, it needs to have
+an associated \helpref{wxDropTarget}{wxdroptarget} object. Normally, you will
+call \helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget} during window
+creation associating your drop target with it. You must derive a class from
+wxDropTarget and override its pure virtual methods. Alternatively, you may
+derive from \helpref{wxTextDropTarget}{wxtextdroptarget} or
+\helpref{wxFileDropTarget}{wxfiledroptarget} and override their OnDropText()
+or OnDropFiles() method.
+\item {\bf Drop:} When the user releases the mouse over a window, wxWidgets
+asks the associated wxDropTarget object if it accepts the data. For this,
+a \helpref{wxDataObject}{wxdataobject} must be associated with the drop target
+and this data object will be responsible for the format negotiation between
+the drag source and the drop target. If all goes well, then \helpref{OnData}{wxdroptargetondata}
+will get called and the wxDataObject belonging to the drop target can get
+filled with data.
+\item {\bf The end:} After processing the data, DoDragDrop() returns either
+wxDragCopy or wxDragMove depending on the state of the keys <Ctrl>, <Shift>
+and <Alt> at the moment of the drop. There is currently no way for the drop
+target to change this return code.