]> git.saurik.com Git - wxWidgets.git/commitdiff
MSW compilation fixes (untested)
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 22 Oct 1999 13:26:45 +0000 (13:26 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 22 Oct 1999 13:26:45 +0000 (13:26 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dataobj.h
include/wx/msw/clipbrd.h
include/wx/msw/ole/dataobj.h
src/msw/clipbrd.cpp
src/msw/ole/dataobj.cpp

index 1d922a5c7279bc7309db2a54037cad9b1ca16848..ae1a30c870dbb71f4082626f4fac758aa258420c 100644 (file)
@@ -187,7 +187,7 @@ class WXDLLEXPORT wxDataObjectSimple : public wxDataObject
 public:
     // ctor takes the format we support, but it can also be set later with
     // SetFormat()
-    wxDataObjectSimple(const wxDataFormat& format = wxDataFormat(wxDF_INVALID))
+    wxDataObjectSimple(const wxDataFormat& format = wxFormatInvalid)
         : m_format(format)
         {
         }
index 67f9d9d4fba8a9d34bf78f7b9de59fec4a903889..bc4e18fdbe7e28a40561e9820d19cea33c89a68e 100644 (file)
@@ -79,7 +79,7 @@ public:
     virtual bool IsSupported( wxDataFormat format );
 
     // fill data with data on the clipboard (if available)
-    virtual bool GetData( wxDataObject *data );
+    virtual bool GetData( wxDataObjectdata );
 
     // clears wxTheClipboard and the system's clipboard if possible
     virtual void Clear();
index 123f390ede6886387e1e699f3d20d3a440d74168..31af6d7da8fe7110dcf0622a86a9582919d68f55 100644 (file)
@@ -39,9 +39,15 @@ public:
     // return TRUE if we support this format in "Get" direction
     bool IsSupportedFormat(const wxDataFormat& format) const;
 
+#ifdef __WXDEBUG__
     // function to return symbolic name of clipboard format (for debug messages)
     static const char *GetFormatName(wxDataFormat format);
 
+    #define wxGetFormatName(format) wxDataObject::GetFormatName(format)
+#else // !Debug
+    #define wxGetFormatName(format) ""
+#endif // Debug/!Debug
+
 private:
     IDataObject *m_pIDataObject; // pointer to the COM interface
 };
index d9ca91ec449636965bfca7a19cab8c4cb072fe3e..ee67329e428838ac3700d8ff7ef7aaa427b5f48c 100644 (file)
@@ -578,10 +578,8 @@ bool wxClipboard::IsSupported( wxDataFormat format )
     return wxIsClipboardFormatAvailable(format);
 }
 
-bool wxClipboard::GetData( wxDataObject *data )
+bool wxClipboard::GetData( wxDataObjectdata )
 {
-    wxCHECK_MSG( data, FALSE, wxT("invalid data object") );
-
 #if wxUSE_OLE_CLIPBOARD
     IDataObject *pDataObject = NULL;
     HRESULT hr = OleGetClipboard(&pDataObject);
@@ -593,7 +591,7 @@ bool wxClipboard::GetData( wxDataObject *data )
     }
 
     // build the list of supported formats
-    size_t nFormats = data->GetFormatCount(wxDataObject::Set);
+    size_t nFormats = data.GetFormatCount(wxDataObject::Set);
     wxDataFormat format, *formats;
     if ( nFormats == 1 )
     {
@@ -606,7 +604,7 @@ bool wxClipboard::GetData( wxDataObject *data )
         formats = new wxDataFormat[nFormats];
     }
 
-    data->GetAllFormats(formats, wxDataObject::Set);
+    data.GetAllFormats(formats, wxDataObject::Set);
 
     // get the format enumerator
     bool result = FALSE;
@@ -693,7 +691,7 @@ bool wxClipboard::GetData( wxDataObject *data )
             if ( SUCCEEDED(hr) )
             {
                 // pass the data to the data object
-                hr = data->GetInterface()->SetData(&formatEtc, &medium, TRUE);
+                hr = data.GetInterface()->SetData(&formatEtc, &medium, TRUE);
                 if ( FAILED(hr) )
                 {
                     wxLogDebug(wxT("Failed to set data in wxIDataObject"));
@@ -719,72 +717,56 @@ bool wxClipboard::GetData( wxDataObject *data )
 #elif wxUSE_DATAOBJ
     wxCHECK_MSG( wxIsClipboardOpened(), FALSE, wxT("clipboard not open") );
 
-    wxDataFormat format = data->GetFormat();
+    wxDataFormat format = data.GetFormat();
     switch ( format )
     {
         case wxDF_TEXT:
         case wxDF_OEMTEXT:
         {
-            wxTextDataObject* textDataObject = (wxTextDataObject*) data;
-            char* s = (char*) wxGetClipboardData(format);
-            if ( s )
-            {
-                textDataObject->SetText(s);
-                delete[] s;
-                return TRUE;
-            }
-            else
+            wxTextDataObject& textDataObject = (wxTextDataObject &)data;
+            char* s = (char*)wxGetClipboardData(format);
+            if ( !s )
                 return FALSE;
+
+            textDataObject.SetText(s);
+            delete [] s;
+
+            return TRUE;
         }
 
         case wxDF_BITMAP:
         case wxDF_DIB:
         {
-            wxBitmapDataObject* bitmapDataObject = (wxBitmapDataObject *)data;
+            wxBitmapDataObject& bitmapDataObject = (wxBitmapDataObject &)data;
             wxBitmap* bitmap = (wxBitmap *)wxGetClipboardData(data->GetFormat());
-            if (bitmap)
-            {
-                bitmapDataObject->SetBitmap(* bitmap);
-                delete bitmap;
-                return TRUE;
-            }
-            else
+            if ( !bitmap )
                 return FALSE;
+
+            bitmapDataObject.SetBitmap(*bitmap);
+            delete bitmap;
+
+            return TRUE;
         }
 #if wxUSE_METAFILE
         case wxDF_METAFILE:
         {
-            wxMetafileDataObject* metaFileDataObject = (wxMetafileDataObject *)data;
+            wxMetafileDataObject& metaFileDataObject = (wxMetafileDataObject &)data;
             wxMetafile* metaFile = (wxMetafile *)wxGetClipboardData(wxDF_METAFILE);
-            if (metaFile)
-            {
-                metaFileDataObject->SetMetafile(*metaFile);
-                delete metaFile;
-                return TRUE;
-            }
-            else
+            if ( !metaFile )
                 return FALSE;
-        }
-#endif
-        default:
-            {
-                long len;
-                void *buf = wxGetClipboardData(format, &len);
-                if ( buf )
-                {
-                    // FIXME this is for testing only!!
-                    ((wxPrivateDataObject *)data)->SetData(buf, len);
-                    free(buf);
 
-                    return TRUE;
-                }
-            }
+            metaFileDataObject.SetMetafile(*metaFile);
+            delete metaFile;
 
-            return FALSE;
+            return TRUE;
+        }
+#endif // wxUSE_METAFILE
     }
 #else // !wxUSE_DATAOBJ
+    wxFAIL_MSG( wxT("no clipboard implementation") );
+#endif // wxUSE_OLE_CLIPBOARD/wxUSE_DATAOBJ
+
     return FALSE;
-#endif // wxUSE_DATAOBJ/!wxUSE_DATAOBJ
 }
 
 #else
index 30f46b1cf0bd4adb649ed6f650627c57b2337074..3b4bc096e9139aa0951ecc8059b6a5c0724975f4 100644 (file)
@@ -56,7 +56,9 @@
 
 #ifdef __WXDEBUG__
     static const wxChar *GetTymedName(DWORD tymed);
-#endif // Debug
+#else // !Debug
+    #define GetTymedName(tymed) ""
+#endif // Debug/!Debug
 
 // to be moved into wx/msw/bitmap.h
 extern size_t wxConvertBitmapToDIB(BITMAPINFO *pbi, const wxBitmap& bitmap);
@@ -531,15 +533,13 @@ STDMETHODIMP wxIDataObject::QueryGetData(FORMATETC *pformatetc)
     // and now check the type of data requested
     wxDataFormat format = pformatetc->cfFormat;
     if ( m_pDataObject->IsSupportedFormat(format) ) {
-#ifdef __WXDEBUG__
         wxLogTrace(wxTRACE_OleCalls, wxT("wxIDataObject::QueryGetData: %s ok"),
-                   wxDataObject::GetFormatName(format));
-#endif // Debug
+                   wxGetFormatName(format));
     }
     else {
         wxLogTrace(wxTRACE_OleCalls,
                    wxT("wxIDataObject::QueryGetData: %s unsupported"),
-                   wxDataObject::GetFormatName(format));
+                   wxGetFormatName(format));
 
         return DV_E_FORMATETC;
     }
@@ -549,13 +549,11 @@ STDMETHODIMP wxIDataObject::QueryGetData(FORMATETC *pformatetc)
     if ( (format == wxDF_BITMAP && !(tymed & TYMED_GDI)) &&
          !(tymed & TYMED_HGLOBAL) ) {
         // it's not what we're waiting for
-#ifdef __WXDEBUG__
         wxLogTrace(wxTRACE_OleCalls,
                    wxT("wxIDataObject::QueryGetData: %s != %s"),
                    GetTymedName(tymed),
                    GetTymedName(format == wxDF_BITMAP ? TYMED_GDI
                                                       : TYMED_HGLOBAL));
-#endif // Debug
 
         return DV_E_TYMED;
     }
@@ -668,6 +666,8 @@ bool wxDataObject::IsSupportedFormat(const wxDataFormat& format) const
     }
 }
 
+#ifdef __WXDEBUG__
+
 const char *wxDataObject::GetFormatName(wxDataFormat format)
 {
   // case 'xxx' is not a valid value for switch of enum 'wxDataFormat'
@@ -703,6 +703,8 @@ const char *wxDataObject::GetFormatName(wxDataFormat format)
   #endif // VC++
 }
 
+#endif // Debug
+
 // ----------------------------------------------------------------------------
 // wxBitmapDataObject supports CF_DIB format
 // ----------------------------------------------------------------------------