]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/dropsrc.tex
Added AdvanceSelection, ShowWindowMenu and keyboard handling
[wxWidgets.git] / docs / latex / wx / dropsrc.tex
index 95a49d778f4c2d0e874d311ff55e3dcc4a27951c..23055438d33db5c7c65acf92ddbd6f15269a7a07 100644 (file)
@@ -1,52 +1,72 @@
 \section{\class{wxDropSource}}\label{wxdropsource}
 
 \section{\class{wxDropSource}}\label{wxdropsource}
 
-\overview{Overview}{wxdndoverview}
-
 This class represents a source for a drag and drop operation.
 
 This class represents a source for a drag and drop operation.
 
+See \helpref{Drag and drop overview}{wxdndoverview} and \helpref{wxDataObject overview}{wxdataobjectoverview} 
+for more information.
+
 \wxheading{Derived from}
 
 \wxheading{Derived from}
 
-\helpref{wxObject}{wxobject}
+None
+
+\wxheading{Include files}
+
+<wx/dnd.h>
+
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
 
 \wxheading{Types}
 
 \index{wxDragResult}wxDragResult is defined as follows:
 
 
 \wxheading{Types}
 
 \index{wxDragResult}wxDragResult is defined as follows:
 
-{\small\begin{verbatim}
+\begin{verbatim}
 enum wxDragResult
 enum wxDragResult
-  {
+{
     wxDragError,    // error prevented the d&d operation from completing
     wxDragNone,     // drag target didn't accept the data
     wxDragCopy,     // the data was successfully copied
     wxDragError,    // error prevented the d&d operation from completing
     wxDragNone,     // drag target didn't accept the data
     wxDragCopy,     // the data was successfully copied
-    wxDragMove,     // the data was successfully moved
+    wxDragMove,     // the data was successfully moved (MSW only)
+    wxDragLink,     // operation is a drag-link
     wxDragCancel    // the operation was cancelled by user (not an error)
     wxDragCancel    // the operation was cancelled by user (not an error)
-  };
-\end{verbatim}%
-}
+};
+\end{verbatim}
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropTarget}{wxdroptarget}, 
+\helpref{wxDropTarget}{wxdroptarget}, 
 \helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource}
 
 \helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \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}}
+
+\func{}{wxDropSource}{\param{wxDataObject\&}{ data}, \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{wxDropSource::SetData}{wxdropsourcesetdata} later.
+The constructors for wxDataObject.
 
 
-{\it win} is required by wxGTK and therefore should always be set.
+If you use the constructor without {\it data} parameter you must call 
+\helpref{SetData}{wxdropsourcesetdata} later.
 
 
-\func{}{wxDropSource}{\param{wxDataObject }{\&data}, \param{wxWindow }{*win = NULL}}
+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}
 
 
 \wxheading{Parameters}
 
-\docparam{data}{A reference to the \helpref{data object}{wxdataobject} associated with the drop source.}
+\docparam{win}{The window which initiates the drag and drop operation.}
 
 
-\docparam{win}{Only used by wxGTK. TODO}
+\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::\destruct{wxDropSource}}\label{wxdropsourcedtor}
 
@@ -54,22 +74,40 @@ call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
 
 \membersection{wxDropSource::SetData}\label{wxdropsourcesetdata}
 
 
 \membersection{wxDropSource::SetData}\label{wxdropsourcesetdata}
 
-\func{void}{SetData}{\param{wxDataObject }{\&data}}
+\func{void}{SetData}{\param{wxDataObject\&}{ data}}
 
 
-Sets the data \helpref{data object}{wxdataobject} associated with the drop source.
+Sets the data \helpref{wxDataObject}{wxdataobject} associated with the 
+drop source. This will not delete any previously associated data.
 
 \membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
 
 
 \membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
 
-\func{virtual wxDragResult}{DoDragDrop}{\param{bool }{bAllowMove = 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.
 
 
-If {\bf bAllowMove} is FALSE, data can only be copied. Under GTK, data
-is always copied.
+\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}
+
+Returns the operation requested by the user, may be {\tt wxDragCopy}, {\tt
+wxDragMove}, {\tt wxDragLink}, {\tt wxDragCancel} or {\tt wxDragNone} if an error occurred.
+
+\membersection{wxDropSource::GetDataObject}\label{wxdropsourcegetdataobject}
+
+\func{wxDataObject *}{GetDataObject}{\void}
+
+Returns the wxDataObject object that has been assigned previously.
 
 \membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback}
 
 
 \membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback}
 
-\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{bScrolling}}
+\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
 
 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
@@ -77,12 +115,24 @@ slow.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove. MSW only. }
+\docparam{effect}{The effect to implement. One of {\tt wxDragCopy}, {\tt wxDragMove}, {\tt wxDragLink} and {\tt wxDragNone}. }
 
 
-\docparam{bScrolling}{TRUE if the window is scrolling. MSW only. }
+\docparam{scrolling}{true if the window is scrolling. MSW only. }
 
 \wxheading{Return value}
 
 
 \wxheading{Return value}
 
-Return FALSE if you want default feedback, or TRUE if you implement your own
-feedback.
+Return false if you want default feedback, or true if you implement your own
+feedback. The return values is ignored under GTK.
+
+\membersection{wxDropSource::SetCursor}\label{wxdropsourcesetcursor}
+
+\func{void}{SetCursor}{\param{wxDragResult }{res}, \param{const wxCursor\& }{cursor}}
+
+Set the icon to use for a certain drag result.
+
+\wxheading{Parameters}
+
+\docparam{res}{The drag result to set the icon for. }
+
+\docparam{cursor}{The ion to show when this drag result occurs. }