]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dnd.h
Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
[wxWidgets.git] / interface / wx / dnd.h
index 3cd15b3ef5d846497257c393e5ea02cd196efc55..34f9ba6fc709148347c65e2a28dfec6066688c3a 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxDropSource and wx*DropTarget
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -28,7 +28,7 @@ public:
         See wxDropTarget::OnDrop(). This function is implemented appropriately
         for text, and calls OnDropText().
     */
-    virtual bool OnDrop(long x, long y, const void data, size_t size);
+    virtual bool OnDrop(wxCoord x, wxCoord y);
 
     /**
         Override this function to receive dropped text.
@@ -42,7 +42,7 @@ public:
 
         Return @true to accept the data, or @false to veto the operation.
     */
-    virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data);
+    virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& data) = 0;
 };
 
 
@@ -91,7 +91,7 @@ public:
     /**
         Destructor. Deletes the associated data object, if any.
     */
-    ~wxDropTarget();
+    virtual ~wxDropTarget();
 
     /**
         This method may only be called from within OnData(). By default, this
@@ -99,7 +99,7 @@ public:
         associated with this drop target, calling its wxDataObject::SetData()
         method.
     */
-    virtual void GetData();
+    virtual bool GetData();
 
     /**
         Called after OnDrop() returns @true. By default this will usually
@@ -187,11 +187,13 @@ public:
     /**
         This constructor requires that you must call SetData() later.
 
-        Note that the exact type of @a iconCopy and subsequent parameters
-        differs between wxMSW and wxGTK: these are cursors under Windows but
+        Note that the type of @a iconCopy and subsequent parameters
+        differs between different ports: these are cursors under Windows but
         icons for GTK. You should use the macro wxDROP_ICON() in portable
         programs instead of directly using either of these types.
 
+        @onlyfor{wxmsw,wxosx}
+
         @param win
             The window which initiates the drag and drop operation.
         @param iconCopy
@@ -202,15 +204,22 @@ public:
             The icon or cursor used for feedback when operation can't be done.
     */
     wxDropSource(wxWindow* win = NULL,
-                 const wxIconOrCursor& iconCopy = wxNullIconOrCursor,
-                 const wxIconOrCursor& iconMove = wxNullIconOrCursor,
-                 const wxIconOrCursor& iconNone = wxNullIconOrCursor);
+                 const wxIcon& iconCopy = wxNullIcon,
+                 const wxIcon& iconMove = wxNullIcon,
+                 const wxIcon& iconNone = wxNullIcon);
+
     /**
-        Note that the exact type of @a iconCopy and subsequent parameters
-        differs between wxMSW and wxGTK: these are cursors under Windows but
+        The constructor for wxDataObject.
+
+        Note that the type of @a iconCopy and subsequent parameters
+        differs between different ports: these are cursors under Windows but
         icons for GTK. You should use the macro wxDROP_ICON() in portable
         programs instead of directly using either of these types.
 
+        @onlyfor{wxmsw,wxosx}
+
+        @param data
+            The data associated with the drop source.
         @param win
             The window which initiates the drag and drop operation.
         @param iconCopy
@@ -221,14 +230,64 @@ public:
             The icon or cursor used for feedback when operation can't be done.
     */
     wxDropSource(wxDataObject& data, wxWindow* win = NULL,
-                 const wxIconOrCursor& iconCopy = wxNullIconOrCursor,
-                 const wxIconOrCursor& iconMove = wxNullIconOrCursor,
-                 const wxIconOrCursor& iconNone = wxNullIconOrCursor);
+                 const wxIcon& iconCopy = wxNullIcon,
+                 const wxIcon& iconMove = wxNullIcon,
+                 const wxIcon& iconNone = wxNullIcon);
+
+    /**
+        This constructor requires that you must call SetData() later.
+
+        Note that the type of @a iconCopy and subsequent parameters
+        differs between different ports: these are cursors under Windows but
+        icons for GTK. You should use the macro wxDROP_ICON() in portable
+        programs instead of directly using either of these types.
+
+        @onlyfor{wxgtk}
+
+        @param win
+            The window which initiates the drag and drop operation.
+        @param iconCopy
+            The icon or cursor used for feedback for copy operation.
+        @param iconMove
+            The icon or cursor used for feedback for move operation.
+        @param iconNone
+            The icon or cursor used for feedback when operation can't be done.
+    */
+    wxDropSource(wxWindow* win = NULL,
+                 const wxCursor& iconCopy = wxNullCursor,
+                 const wxCursor& iconMove = wxNullCursor,
+                 const wxCursor& iconNone = wxNullCursor);
+
+    /**
+        The constructor for wxDataObject.
+
+        Note that the type of @a iconCopy and subsequent parameters
+        differs between different ports: these are cursors under Windows but
+        icons for GTK. You should use the macro wxDROP_ICON() in portable
+        programs instead of directly using either of these types.
+
+        @onlyfor{wxgtk}
+
+        @param data
+            The data associated with the drop source.
+        @param win
+            The window which initiates the drag and drop operation.
+        @param iconCopy
+            The icon or cursor used for feedback for copy operation.
+        @param iconMove
+            The icon or cursor used for feedback for move operation.
+        @param iconNone
+            The icon or cursor used for feedback when operation can't be done.
+    */
+    wxDropSource(wxDataObject& data, wxWindow* win = NULL,
+                 const wxCursor& iconCopy = wxNullCursor,
+                 const wxCursor& iconMove = wxNullCursor,
+                 const wxCursor& iconNone = wxNullCursor);
 
     /**
         Default constructor.
     */
-    ~wxDropSource();
+    virtual ~wxDropSource();
 
     /**
         Starts the drag-and-drop operation which will terminate when the user
@@ -260,11 +319,9 @@ public:
         @param effect
             The effect to implement. One of ::wxDragCopy, ::wxDragMove,
             ::wxDragLink and ::wxDragNone.
-        @param scrolling
-            @true if the window is scrolling. MSW only.
 
         @return @false if you want default feedback, or @true if you implement
-                 your own feedback. The return values is ignored under GTK.
+                your own feedback. The return value is ignored under GTK.
     */
     virtual bool GiveFeedback(wxDragResult effect);
 
@@ -310,7 +367,7 @@ public:
         See wxDropTarget::OnDrop(). This function is implemented appropriately
         for files, and calls OnDropFiles().
     */
-    virtual bool OnDrop(long x, long y, const void data, size_t size);
+    virtual bool OnDrop(wxCoord x, wxCoord y);
 
     /**
         Override this function to receive dropped files.
@@ -325,7 +382,7 @@ public:
         Return @true to accept the data, or @false to veto the operation.
     */
     virtual bool OnDropFiles(wxCoord x, wxCoord y,
-                             const wxArrayString& filenames);
+                             const wxArrayString& filenames) = 0;
 };
 
 
@@ -334,7 +391,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
-/** @ingroup group_funcmacro_gdi */
+/** @addtogroup group_funcmacro_gdi */
 //@{
 
 /**