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