]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/droptrgt.tex
don't call wxYield() from EnsureVisible(), this is too dangerous - and unnecessary...
[wxWidgets.git] / docs / latex / wx / droptrgt.tex
CommitLineData
dface61c
JS
1\section{\class{wxDropTarget}}\label{wxdroptarget}
2
f59d80ca
RR
3This class represents a target for a drag and drop operation. A \helpref{wxDataObject}{wxdataobject}
4can be associated with it and by default, this object will be filled with the data from the
5drag source, if the data formats supported by the data object match the drag source data
6format.
7
8There are various virtual handler functions defined in this class which may be overridden
9to give visual feedback or react in a more fine-tuned way, e.g. by not accepting data on
10the whole window area, but only a small portion of it. The normal sequence of calls is
11\helpref{OnEnter}{wxdroptargetonenter}, possibly many times \helpref{OnDragOver}{wxdroptargetondragover},
12\helpref{OnDrop}{wxdroptargetondrop} and finally \helpref{OnData}{wxdroptargetondata}.
dface61c 13
f6bcfd97 14See \helpref{Drag and drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview}
23efdd02
RR
15for more information.
16
dface61c
JS
17\wxheading{Derived from}
18
f59d80ca 19None
dface61c 20
954b8ae6
JS
21\wxheading{Include files}
22
23<wx/dnd.h>
24
f59d80ca
RR
25\wxheading{Types}
26
27\index{wxDragResult}wxDragResult is defined as follows:
28
fa482912 29\begin{verbatim}
f59d80ca
RR
30enum wxDragResult
31{
32 wxDragError, // error prevented the d&d operation from completing
33 wxDragNone, // drag target didn't accept the data
34 wxDragCopy, // the data was successfully copied
35 wxDragMove, // the data was successfully moved
36 wxDragCancel // the operation was cancelled by user (not an error)
37};
38\end{verbatim}
f59d80ca 39
dface61c
JS
40\wxheading{See also}
41
23efdd02 42\helpref{wxDropSource}{wxdropsource},
f59d80ca
RR
43\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget},
44\helpref{wxDataFormat}{wxdataformat}, \helpref{wxDataObject}{wxdataobject}
dface61c
JS
45
46\latexignore{\rtfignore{\wxheading{Members}}}
47
48\membersection{wxDropTarget::wxDropTarget}\label{wxdroptargetwxdroptarget}
49
f59d80ca 50\func{}{wxDropTarget}{\param{wxDataObject*}{ data = NULL}}
dface61c 51
f59d80ca 52Constructor. {\it data} is the data to be associated with the drop target.
dface61c
JS
53
54\membersection{wxDropTarget::\destruct{wxDropTarget}}\label{wxdroptargetdtor}
55
56\func{}{\destruct{wxDropTarget}}{\void}
57
f59d80ca 58Destructor. Deletes the associated data object, if any.
dface61c 59
f59d80ca 60\membersection{wxDropTarget::GetData}\label{wxdroptargetgetdata}
dface61c 61
f59d80ca 62\func{virtual void}{GetData}{\void}
dface61c 63
f59d80ca
RR
64This method may only be called from within \helpref{OnData}{wxdroptargetondata}.
65By default, this method copies the data from the drop source to the
66\helpref{wxDataObject}{wxdataobject} associated with this drop target,
67calling its \helpref{wxDataObject::SetData}{wxdataobjectsetdata} method.
dface61c 68
1fb3eae5 69\membersection{wxDropTarget::OnData}\label{wxdroptargetondata}
dface61c 70
1fb3eae5 71\func{virtual wxDragResult}{OnData}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
dface61c 72
f59d80ca
RR
73Called after \helpref{OnDrop}{wxdroptargetondrop} returns TRUE. By default this
74will usually \helpref{GetData}{wxdroptargetgetdata} and will return the suggested
75default value {\it def}.
dface61c
JS
76
77\membersection{wxDropTarget::OnDrop}\label{wxdroptargetondrop}
78
f59d80ca 79\func{virtual bool}{OnDrop}{\param{wxCoord }{x}, \param{wxCoord }{y}}
dface61c
JS
80
81Called when the user drops a data object on the target. Return FALSE to veto the operation.
82
83\wxheading{Parameters}
84
85\docparam{x}{The x coordinate of the mouse.}
86
87\docparam{y}{The y coordinate of the mouse.}
88
dface61c
JS
89\wxheading{Return value}
90
91Return TRUE to accept the data, FALSE to veto the operation.
92
1fb3eae5
JS
93\membersection{wxDropTarget::OnEnter}\label{wxdroptargetonenter}
94
f59d80ca
RR
95\func{virtual wxDragResult}{OnEnter}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
96
97Called when the mouse enters the drop target. By default, this calls \helpref{OnDragOver}{wxdroptargetondragover}.
98
99\wxheading{Parameters}
100
101\docparam{x}{The x coordinate of the mouse.}
102
103\docparam{y}{The y coordinate of the mouse.}
104
105\docparam{def}{Suggested default for return value. Determined by SHIFT or CONTROL key states.}
1fb3eae5 106
f59d80ca
RR
107\wxheading{Return value}
108
109Returns the desired operation or {\tt wxDragNone}. This is used for optical feedback
110from the side of the drop source, typically in form of changing the icon.
111
112\membersection{wxDropTarget::OnDragOver}\label{wxdroptargetondragover}
113
114\func{virtual wxDragResult}{OnDragOver}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
115
116Called when the mouse is being dragged over the drop target. By default,
117this calls functions return the suggested return value {\it def}.
118
119\wxheading{Parameters}
120
121\docparam{x}{The x coordinate of the mouse.}
122
123\docparam{y}{The y coordinate of the mouse.}
124
125\docparam{def}{Suggested value for return value. Determined by SHIFT or CONTROL key states.}
126
127\wxheading{Return value}
128
129Returns the desired operation or {\tt wxDragNone}. This is used for optical feedback
130from the side of the drop source, typically in form of changing the icon.
1fb3eae5 131
dface61c
JS
132\membersection{wxDropTarget::OnLeave}\label{wxdroptargetonleave}
133
134\func{virtual void}{OnLeave}{\void}
135
136Called when the mouse leaves the drop target.
b82827dd 137
f59d80ca
RR
138\membersection{wxDropTarget::SetDataObject}\label{wxdroptargetsetdataobject}
139
140\func{void}{SetDataObject}{\param{wxDataObject*}{ data}}
141
142Sets the data \helpref{wxDataObject}{wxdataobject} associated with the
143drop target and deletes any previously associated data object.
457e6c54 144