]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dnd.h
Add new sample project files.
[wxWidgets.git] / interface / wx / dnd.h
index a6d5890f2d715e8cd1c272c9025713be5e5df6e7..34f9ba6fc709148347c65e2a28dfec6066688c3a 100644 (file)
@@ -3,12 +3,11 @@
 // Purpose:     interface of wxDropSource and wx*DropTarget
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxDropSource and wx*DropTarget
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxTextDropTarget
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxTextDropTarget
-    @wxheader{dnd.h}
 
     A predefined drop target for dealing with text data.
 
 
     A predefined drop target for dealing with text data.
 
@@ -29,7 +28,7 @@ public:
         See wxDropTarget::OnDrop(). This function is implemented appropriately
         for text, and calls OnDropText().
     */
         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.
 
     /**
         Override this function to receive dropped text.
@@ -43,7 +42,7 @@ public:
 
         Return @true to accept the data, or @false to veto the operation.
     */
 
         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;
 };
 
 
 };
 
 
@@ -63,7 +62,6 @@ enum wxDragResult
 
 /**
     @class wxDropTarget
 
 /**
     @class wxDropTarget
-    @wxheader{dnd.h}
 
     This class represents a target for a drag and drop operation. A
     wxDataObject can be associated with it and by default, this object will be
 
     This class represents a target for a drag and drop operation. A
     wxDataObject can be associated with it and by default, this object will be
@@ -93,7 +91,7 @@ public:
     /**
         Destructor. Deletes the associated data object, if any.
     */
     /**
         Destructor. Deletes the associated data object, if any.
     */
-    ~wxDropTarget();
+    virtual ~wxDropTarget();
 
     /**
         This method may only be called from within OnData(). By default, this
 
     /**
         This method may only be called from within OnData(). By default, this
@@ -101,7 +99,7 @@ public:
         associated with this drop target, calling its wxDataObject::SetData()
         method.
     */
         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
 
     /**
         Called after OnDrop() returns @true. By default this will usually
@@ -174,7 +172,6 @@ public:
 
 /**
     @class wxDropSource
 
 /**
     @class wxDropSource
-    @wxheader{dnd.h}
 
     This class represents a source for a drag and drop operation.
 
 
     This class represents a source for a drag and drop operation.
 
@@ -190,11 +187,13 @@ public:
     /**
         This constructor requires that you must call SetData() later.
 
     /**
         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.
 
         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
         @param win
             The window which initiates the drag and drop operation.
         @param iconCopy
@@ -205,15 +204,22 @@ public:
             The icon or cursor used for feedback when operation can't be done.
     */
     wxDropSource(wxWindow* win = NULL,
             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.
 
         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
         @param win
             The window which initiates the drag and drop operation.
         @param iconCopy
@@ -224,14 +230,64 @@ public:
             The icon or cursor used for feedback when operation can't be done.
     */
     wxDropSource(wxDataObject& data, wxWindow* win = NULL,
             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.
     */
 
     /**
         Default constructor.
     */
-    ~wxDropSource();
+    virtual ~wxDropSource();
 
     /**
         Starts the drag-and-drop operation which will terminate when the user
 
     /**
         Starts the drag-and-drop operation which will terminate when the user
@@ -263,11 +319,9 @@ public:
         @param effect
             The effect to implement. One of ::wxDragCopy, ::wxDragMove,
             ::wxDragLink and ::wxDragNone.
         @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
 
         @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);
 
     */
     virtual bool GiveFeedback(wxDragResult effect);
 
@@ -292,7 +346,6 @@ public:
 
 /**
     @class wxFileDropTarget
 
 /**
     @class wxFileDropTarget
-    @wxheader{dnd.h}
 
     This is a drop target which accepts files (dragged from File Manager or
     Explorer).
 
     This is a drop target which accepts files (dragged from File Manager or
     Explorer).
@@ -314,7 +367,7 @@ public:
         See wxDropTarget::OnDrop(). This function is implemented appropriately
         for files, and calls OnDropFiles().
     */
         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.
 
     /**
         Override this function to receive dropped files.
@@ -329,7 +382,7 @@ public:
         Return @true to accept the data, or @false to veto the operation.
     */
     virtual bool OnDropFiles(wxCoord x, wxCoord y,
         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;
 };
 
 
 };
 
 
@@ -338,7 +391,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
 // Global functions/macros
 // ============================================================================
 
-/** @ingroup group_funcmacro_gdi */
+/** @addtogroup group_funcmacro_gdi */
 //@{
 
 /**
 //@{
 
 /**