]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dropsrc.h
Fix crash when editing wxDVC items in place in wxOSX/Cocoa.
[wxWidgets.git] / include / wx / msw / ole / dropsrc.h
index 079514324b7b0dffa6ed14bac4b1385e037e8ea2..7ef2818a0ad622d8ac372bb6867eab2ce1764e7f 100644 (file)
 #ifndef   _WX_OLEDROPSRC_H
 #define   _WX_OLEDROPSRC_H
 
-#ifdef __GNUG__
-    #pragma interface
-#endif
-
-#if !wxUSE_DRAG_AND_DROP
-  #error  "You should #define wxUSE_DRAG_AND_DROP to 1 to compile this file!"
-#endif  //WX_DRAG_DROP
+#if wxUSE_DRAG_AND_DROP
 
 // ----------------------------------------------------------------------------
 // forward declarations
 // ----------------------------------------------------------------------------
 
 class wxIDropSource;
-class WXDLLEXPORT wxDataObject;
-class WXDLLEXPORT wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxDataObject;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+
+// ----------------------------------------------------------------------------
+// macros
+// ----------------------------------------------------------------------------
+
+// this macro may be used instead for wxDropSource ctor arguments: it will use
+// the cursor 'name' from the resources under MSW, but will expand to
+// something else under GTK. If you don't use it, you will have to use #ifdef
+// in the application code.
+#define wxDROP_ICON(name)   wxCursor(wxT(#name))
 
 // ----------------------------------------------------------------------------
 // wxDropSource is used to start the drag-&-drop operation on associated
 // wxDataObject object. It's responsible for giving UI feedback while dragging.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDropSource : public wxDropSourceBase
+class WXDLLIMPEXP_CORE wxDropSource : public wxDropSourceBase
 {
 public:
     // ctors: if you use default ctor you must call SetData() later!
@@ -54,7 +58,7 @@ public:
 
     // do it (call this in response to a mouse button press, for example)
     // params: if bAllowMove is false, data can be only copied
-    virtual wxDragResult DoDragDrop(bool bAllowMove = FALSE);
+    virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly);
 
     // overridable: you may give some custom UI feedback during d&d operation
     // in this function (it's called on each mouse move, so it shouldn't be
@@ -66,6 +70,10 @@ protected:
 
 private:
     wxIDropSource *m_pIDropSource;  // the pointer to COM interface
+
+    wxDECLARE_NO_COPY_CLASS(wxDropSource);
 };
 
+#endif  //wxUSE_DRAG_AND_DROP
+
 #endif  //_WX_OLEDROPSRC_H