]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/dropsrc.tex
Apply patch [ 1554736 ] wxXmlDocument::DetachRoot
[wxWidgets.git] / docs / latex / wx / dropsrc.tex
CommitLineData
dface61c
JS
1\section{\class{wxDropSource}}\label{wxdropsource}
2
dface61c
JS
3This class represents a source for a drag and drop operation.
4
f6bcfd97 5See \helpref{Drag and drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview}
23efdd02
RR
6for more information.
7
dface61c
JS
8\wxheading{Derived from}
9
f59d80ca 10None
dface61c 11
954b8ae6
JS
12\wxheading{Include files}
13
14<wx/dnd.h>
15
dface61c
JS
16\wxheading{Types}
17
18\index{wxDragResult}wxDragResult is defined as follows:
19
b2cf617c 20\begin{verbatim}
dface61c 21enum wxDragResult
f59d80ca 22{
dface61c
JS
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
3980000c
RR
26 wxDragMove, // the data was successfully moved (MSW only)
27 wxDragLink, // operation is a drag-link
dface61c 28 wxDragCancel // the operation was cancelled by user (not an error)
f59d80ca
RR
29};
30\end{verbatim}
dface61c
JS
31
32\wxheading{See also}
33
23efdd02 34\helpref{wxDropTarget}{wxdroptarget},
dface61c
JS
35\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
36
37\latexignore{\rtfignore{\wxheading{Members}}}
38
39\membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource}
40
c7952709 41\func{}{wxDropSource}{\param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconMove = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}}
dface61c 42
c7952709 43\func{}{wxDropSource}{\param{wxDataObject\&}{ data}, \param{wxWindow*}{ win = NULL},\param{const wxIconOrCursor\& }{iconCopy = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconMove = wxNullIconOrCursor}, \param{const wxIconOrCursor\& }{iconNone = wxNullIconOrCursor}}
dface61c 44
f6bcfd97
BP
45The constructors for wxDataObject.
46
47If you use the constructor without {\it data} parameter you must call
48\helpref{SetData}{wxdropsourcesetdata} later.
49
50Note that the exact type of {\it iconCopy} and subsequent parameters differs
51between wxMSW and wxGTK: these are cursors under Windows but icons for GTK.
52You should use the macro \helpref{wxDROP\_ICON}{wxdropicon} in portable
53programs instead of directly using either of these types.
54
55\wxheading{Parameters}
56
57\docparam{win}{The window which initiates the drag and drop operation.}
58
59\docparam{iconCopy}{The icon or cursor used for feedback for copy operation.}
60
61\docparam{iconMove}{The icon or cursor used for feedback for move operation.}
62
63\docparam{iconNone}{The icon or cursor used for feedback when operation can't be done.}
64
65{\it win} is the window which initiates the drag and drop operation.
dface61c 66
dface61c
JS
67\membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor}
68
69\func{virtual }{\destruct{wxDropSource}}{\void}
70
71\membersection{wxDropSource::SetData}\label{wxdropsourcesetdata}
72
06ad8636 73\func{void}{SetData}{\param{wxDataObject\&}{ data}}
dface61c 74
f59d80ca
RR
75Sets the data \helpref{wxDataObject}{wxdataobject} associated with the
76drop source. This will not delete any previously associated data.
dface61c
JS
77
78\membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
79
2245b2b2 80\func{virtual wxDragResult}{DoDragDrop}{\param{int }{flags = {\tt wxDrag\_CopyOnly}}}
dface61c 81
2245b2b2
VZ
82Do it (call this in response to a mouse button press, for example). This starts
83the drag-and-drop operation which will terminate when the user releases the
84mouse.
dface61c 85
2245b2b2
VZ
86\wxheading{Parameters}
87
88\docparam{flags}{If {\tt wxDrag\_AllowMove} is included in the flags, data may
89be moved and not only copied (default). If {\tt wxDrag\_DefaultMove} is
90specified (which includes the previous flag), this is even the default
91operation}.
92
93\wxheading{Return value}
94
95Returns the operation requested by the user, may be {\tt wxDragCopy}, {\tt
43e8916f 96wxDragMove}, {\tt wxDragLink}, {\tt wxDragCancel} or {\tt wxDragNone} if an error occurred.
3980000c
RR
97
98\membersection{wxDropSource::GetDataObject}\label{wxdropsourcegetdataobject}
99
100\func{wxDataObject *}{GetDataObject}{\void}
101
102Returns the wxDataObject object that has been assigned previously.
dface61c
JS
103
104\membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback}
105
d0247e67 106\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}}
dface61c
JS
107
108Overridable: you may give some custom UI feedback during the drag and drop operation
109in this function. It is called on each mouse move, so your implementation must not be too
110slow.
111
112\wxheading{Parameters}
113
3980000c 114\docparam{effect}{The effect to implement. One of {\tt wxDragCopy}, {\tt wxDragMove}, {\tt wxDragLink} and {\tt wxDragNone}. }
dface61c 115
cc81d32f 116\docparam{scrolling}{true if the window is scrolling. MSW only. }
dface61c
JS
117
118\wxheading{Return value}
119
cc81d32f 120Return false if you want default feedback, or true if you implement your own
fc9c7c09 121feedback. The return values is ignored under GTK.
dface61c 122
3980000c
RR
123\membersection{wxDropSource::SetCursor}\label{wxdropsourcesetcursor}
124
125\func{void}{SetCursor}{\param{wxDragResult }{res}, \param{const wxCursor\& }{cursor}}
126
127Set the icon to use for a certain drag result.
128
129\wxheading{Parameters}
130
131\docparam{res}{The drag result to set the icon for. }
132
133\docparam{cursor}{The ion to show when this drag result occurs. }
134