]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/dropsrc.cpp
Fix compilation of MSW wxFSVolume with non-wxMSW ports.
[wxWidgets.git] / src / msw / ole / dropsrc.cpp
index 6aae42c5d549cb91c1da54caf4257a5131128b64..9118eecef8f3afb0ac61bc415a215a3de0be6a06 100644 (file)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        msw/ole/dropsrc.cpp
+// Name:        src/msw/ole/dropsrc.cpp
 // Purpose:     implementation of wxIDropSource and wxDropSource
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     10.05.98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-  #pragma implementation "dropsrc.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #if defined(__BORLANDC__)
   #pragma hdrstop
 #endif
-#ifndef WX_PRECOMP
-#include "wx/window.h"
-#endif
-
-#include "wx/setup.h"
 
 #if wxUSE_OLE && wxUSE_DRAG_AND_DROP
 
-#include "wx/log.h"
-#include "wx/dnd.h"
+#ifndef WX_PRECOMP
+    #include "wx/window.h"
+    #include "wx/log.h"
+#endif
 
-#include <windows.h>
+#include "wx/dnd.h"
 
-#if wxUSE_NORLANDER_HEADERS
-    #include <ole2.h>
-#endif
+#include "wx/msw/private.h"
 
-#ifndef __WIN32__
+// for some compilers, the entire ole2.h must be included, not only oleauto.h
+#if wxUSE_NORLANDER_HEADERS || defined(__WATCOMC__) || defined(__WXWINCE__)
     #include <ole2.h>
-    #include <olestd.h>
 #endif
 
 #include <oleauto.h>
@@ -61,16 +52,19 @@ class wxIDropSource : public IDropSource
 {
 public:
   wxIDropSource(wxDropSource *pDropSource);
-
-  DECLARE_IUNKNOWN_METHODS;
+  virtual ~wxIDropSource() { }
 
   // IDropSource
   STDMETHODIMP QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState);
   STDMETHODIMP GiveFeedback(DWORD dwEffect);
 
+    DECLARE_IUNKNOWN_METHODS;
+
 private:
   DWORD         m_grfInitKeyState;  // button which started the d&d operation
   wxDropSource *m_pDropSource;      // pointer to C++ class we belong to
+
+  wxDECLARE_NO_COPY_CLASS(wxIDropSource);
 };
 
 // ============================================================================
@@ -93,7 +87,6 @@ wxIDropSource::wxIDropSource(wxDropSource *pDropSource)
 
   m_pDropSource = pDropSource;
   m_grfInitKeyState = 0;
-  m_cRef = 0;
 }
 
 // Name    : wxIDropSource::QueryContinueDrag
@@ -240,16 +233,16 @@ wxDragResult wxDropSource::DoDragDrop(int flags)
 bool wxDropSource::GiveFeedback(wxDragResult effect)
 {
     const wxCursor& cursor = GetCursor(effect);
-    if ( cursor.Ok() )
+    if ( cursor.IsOk() )
     {
         ::SetCursor((HCURSOR)cursor.GetHCURSOR());
 
-        return TRUE;
+        return true;
     }
     else
     {
-        return FALSE;
+        return false;
     }
 }
 
-#endif  //USE_DRAG_AND_DROP
+#endif  // wxUSE_OLE && wxUSE_DRAG_AND_DROP