X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04581fad18851b40ca83627b82a92fc0ec1540e9..d3fa4bc22e84e3ca4d88cc1772f2d414140a1017:/interface/wx/dnd.h diff --git a/interface/wx/dnd.h b/interface/wx/dnd.h index 44bfbc2944..182fe158e9 100644 --- a/interface/wx/dnd.h +++ b/interface/wx/dnd.h @@ -16,47 +16,6 @@ enum wxDrag_DefaultMove = 3 ///< Allow moving and make it default operation. }; -/** - @class wxTextDropTarget - - A predefined drop target for dealing with text data. - - @library{wxcore} - @category{dnd} - - @see @ref overview_dnd, wxDropSource, wxDropTarget, wxFileDropTarget -*/ -class wxTextDropTarget : public wxDropTarget -{ -public: - /** - Constructor. - */ - wxTextDropTarget(); - - /** - See wxDropTarget::OnDrop(). This function is implemented appropriately - for text, and calls OnDropText(). - */ - virtual bool OnDrop(wxCoord x, wxCoord y); - - /** - Override this function to receive dropped text. - - @param x - The x coordinate of the mouse. - @param y - The y coordinate of the mouse. - @param data - The data being dropped: a wxString. - - Return @true to accept the data, or @false to veto the operation. - */ - virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data) = 0; -}; - - - /** Result returned from a wxDropSource::DoDragDrop() call. */ @@ -70,6 +29,8 @@ enum wxDragResult wxDragCancel ///< The operation was cancelled by user (not an error). }; + + /** @class wxDropTarget @@ -109,23 +70,23 @@ public: associated with this drop target, calling its wxDataObject::SetData() method. */ - virtual bool GetData() = 0; + virtual bool GetData(); /** Called after OnDrop() returns @true. By default this will usually - GetData() and will return the suggested default value @a def. + GetData() and will return the suggested default value @a defResult. */ - virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult def) = 0; + virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult defResult) = 0; /** Called when the mouse is being dragged over the drop target. By - default, this calls functions return the suggested return value @a def. + default, this calls functions return the suggested return value @a defResult. @param x The x coordinate of the mouse. @param y The y coordinate of the mouse. - @param def + @param defResult Suggested value for return value. Determined by SHIFT or CONTROL key states. @@ -133,7 +94,7 @@ public: feedback from the side of the drop source, typically in form of changing the icon. */ - virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def); + virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult defResult); /** Called when the user drops a data object on the target. Return @false @@ -146,7 +107,7 @@ public: @return @true to accept the data, or @false to veto the operation. */ - virtual bool OnDrop(wxCoord x, wxCoord y) = 0; + virtual bool OnDrop(wxCoord x, wxCoord y); /** Called when the mouse enters the drop target. By default, this calls @@ -156,7 +117,7 @@ public: The x coordinate of the mouse. @param y The y coordinate of the mouse. - @param def + @param defResult Suggested default for return value. Determined by SHIFT or CONTROL key states. @@ -164,18 +125,39 @@ public: feedback from the side of the drop source, typically in form of changing the icon. */ - virtual wxDragResult OnEnter(wxCoord x, wxCoord y, wxDragResult def); + virtual wxDragResult OnEnter(wxCoord x, wxCoord y, wxDragResult defResult); /** Called when the mouse leaves the drop target. */ virtual void OnLeave(); + /** + Returns the data wxDataObject associated with the drop target + */ + wxDataObject *GetDataObject() const; + /** Sets the data wxDataObject associated with the drop target and deletes any previously associated data object. */ void SetDataObject(wxDataObject* data); + + + /** + Sets the default action for drag and drop. Use wxDragMove or + wxDragCopy to set deafult action to move or copy and use wxDragNone + (default) to set default action specified by initialization of draging + (see wxDropSource::DoDragDrop()) + */ + void SetDefaultAction(wxDragResult action); + + /** + Returns default action for drag and drop or wxDragNone if this not + specified. + */ + wxDragResult GetDefaultAction(); + }; @@ -214,9 +196,9 @@ public: The icon or cursor used for feedback when operation can't be done. */ wxDropSource(wxWindow* win = NULL, - const wxCursor& iconCopy = wxNullIcon, - const wxCursor& iconMove = wxNullIcon, - const wxCursor& iconNone = wxNullIcon); + const wxCursor& iconCopy = wxNullCursor, + const wxCursor& iconMove = wxNullCursor, + const wxCursor& iconNone = wxNullCursor); /** The constructor taking a wxDataObject. @@ -240,9 +222,9 @@ public: The icon or cursor used for feedback when operation can't be done. */ wxDropSource(wxDataObject& data, wxWindow* win = NULL, - const wxCursor& iconCopy = wxNullIcon, - const wxCursor& iconMove = wxNullIcon, - const wxCursor& iconNone = wxNullIcon); + const wxCursor& iconCopy = wxNullCursor, + const wxCursor& iconMove = wxNullCursor, + const wxCursor& iconNone = wxNullCursor); /** This constructor requires that you must call SetData() later. @@ -262,9 +244,9 @@ public: The icon or cursor used for feedback when operation can't be done. */ wxDropSource(wxWindow* win = NULL, - const wxIcon& iconCopy = wxNullCursor, - const wxIcon& iconMove = wxNullCursor, - const wxIcon& iconNone = wxNullCursor); + const wxIcon& iconCopy = wxNullIcon, + const wxIcon& iconMove = wxNullIcon, + const wxIcon& iconNone = wxNullIcon); /** The constructor taking a wxDataObject. @@ -286,9 +268,9 @@ public: The icon or cursor used for feedback when operation can't be done. */ wxDropSource(wxDataObject& data, wxWindow* win = NULL, - const wxIcon& iconCopy = wxNullCursor, - const wxIcon& iconMove = wxNullCursor, - const wxIcon& iconNone = wxNullCursor); + const wxIcon& iconCopy = wxNullIcon, + const wxIcon& iconMove = wxNullIcon, + const wxIcon& iconNone = wxNullIcon); /** Starts the drag-and-drop operation which will terminate when the user @@ -333,10 +315,24 @@ public: @param res The drag result to set the icon for. @param cursor - The ion to show when this drag result occurs. + The icon to show when this drag result occurs. + + @onlyfor{wxmsw,wxosx} */ void SetCursor(wxDragResult res, const wxCursor& cursor); + /** + Set the icon to use for a certain drag result. + + @param res + The drag result to set the icon for. + @param icon + The icon to show when this drag result occurs. + + @onlyfor{wxgtk} + */ + void SetIcon(wxDragResult res, const wxIcon& icon); + /** Sets the data wxDataObject associated with the drop source. This will not delete any previously associated data. @@ -346,6 +342,46 @@ public: +/** + @class wxTextDropTarget + + A predefined drop target for dealing with text data. + + @library{wxcore} + @category{dnd} + + @see @ref overview_dnd, wxDropSource, wxDropTarget, wxFileDropTarget +*/ +class wxTextDropTarget : public wxDropTarget +{ +public: + /** + Constructor. + */ + wxTextDropTarget(); + + /** + See wxDropTarget::OnDrop(). This function is implemented appropriately + for text, and calls OnDropText(). + */ + virtual bool OnDrop(wxCoord x, wxCoord y); + + /** + Override this function to receive dropped text. + + @param x + The x coordinate of the mouse. + @param y + The y coordinate of the mouse. + @param data + The data being dropped: a wxString. + + Return @true to accept the data, or @false to veto the operation. + */ + virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data) = 0; +}; + + /** @class wxFileDropTarget @@ -410,5 +446,11 @@ public: */ #define wxDROP_ICON(name) +/** + Returns true if res indicates that something was done during a DnD operation, + i.e. is neither error nor none nor cancel. +*/ +bool wxIsDragResultOk(wxDragResult res); + //@}