]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/dataobj.cpp
wxMenu and wxMenuBar modifications: now works much better with owner-drawn
[wxWidgets.git] / src / msw / ole / dataobj.cpp
index 941748b0928004cd8ea8b0b2cb0f0a6ab942642a..d32806d9a06573a0df996899e2153216986a3266 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        msw/ole/dataobj.cpp
 // Purpose:     implementation of wx[I]DataObject class
 // Author:      Vadim Zeitlin
-// Modified by: 
+// Modified by:
 // Created:     10.05.98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 
 #include  <wx/defs.h>
 
-#ifdef __WIN32__
+#if defined(__WIN32__) && !defined(__GNUWIN32__)
 
-#include  <wx/log.h>
-#include  <wx/msw/ole/oleutils.h>
-#include  <wx/msw/ole/dataobj.h>
+#include <wx/log.h>
+#include <wx/msw/ole/dataobj.h>
+
+#include <windows.h>
+#include <oleauto.h>
 
 #ifndef __WIN32__
   #include <ole2.h>
   #include <olestd.h>
 #endif
 
+#include  <wx/msw/ole/oleutils.h>
+
 // ----------------------------------------------------------------------------
 // functions
 // ----------------------------------------------------------------------------
@@ -280,14 +284,14 @@ STDMETHODIMP wxIDataObject::QueryGetData(FORMATETC *pformatetc)
   }
 
   // and now check the type of data requested
-  if ( m_pDataObject->IsSupportedFormat(pformatetc->cfFormat) ) {
+  if ( m_pDataObject->IsSupportedFormat((wxDataFormat) pformatetc->cfFormat) ) {
     wxLogTrace("wxIDataObject::QueryGetData: %s ok",
-               wxDataObject::GetFormatName(pformatetc->cfFormat));
+               wxDataObject::GetFormatName((wxDataFormat) pformatetc->cfFormat));
     return S_OK;
   }
   else {
     wxLogTrace("wxIDataObject::QueryGetData: %s unsupported",
-               wxDataObject::GetFormatName(pformatetc->cfFormat));
+               wxDataObject::GetFormatName((wxDataFormat) pformatetc->cfFormat));
     return DV_E_FORMATETC;
   }
 }
@@ -313,7 +317,7 @@ STDMETHODIMP wxIDataObject::EnumFormatEtc(DWORD dwDirection,
     return E_NOTIMPL;
   }
 
-  wxIEnumFORMATETC *pEnum = 
+  wxIEnumFORMATETC *pEnum =
     new wxIEnumFORMATETC(m_pDataObject->GetPreferredFormat());
   pEnum->AddRef();
   *ppenumFormatEtc = pEnum;
@@ -357,7 +361,12 @@ wxDataObject::~wxDataObject()
 
 const char *wxDataObject::GetFormatName(wxDataFormat format)
 {
-#ifdef __DEBUG__
+#ifdef __WXDEBUG__
+  // case 'xxx' is not a valid value for switch of enum 'wxDataFormat'
+  #ifdef __VISUALC__
+    #pragma warning(disable:4063)
+  #endif // VC++
+
   static char s_szBuf[128];
   switch ( format ) {
     case CF_TEXT:         return "CF_TEXT";
@@ -380,9 +389,14 @@ const char *wxDataObject::GetFormatName(wxDataFormat format)
       sprintf(s_szBuf, "clipboard format %d (unknown)", format);
       return s_szBuf;
   }
- #else
+
+  #ifdef __VISUALC__
+    #pragma warning(default:4063)
+  #endif // VC++
+
+#else // !Debug
   return "";
-#endif
+#endif // Debug
 }
 
 // ----------------------------------------------------------------------------
@@ -405,5 +419,7 @@ static const char *GetTymedName(DWORD tymed)
   }
 }
 
+// TODO: OLE parts of wxBitmap/File/MetafileDataObject
+
 #endif