]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dataobj2.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / msw / ole / dataobj2.h
index 7fdfa70f97b75c8ef14ba1ec0131c61432e8ee5c..a22759676bcfd5f624cd24341234d39dfecd01ab 100644 (file)
@@ -7,7 +7,7 @@
 // Created:     21.10.99
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_MSW_OLE_DATAOBJ2_H
@@ -21,7 +21,7 @@
 //     rarely used). This is ugly, but I haven't found a solution for it yet.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxBitmapDataObject : public wxBitmapDataObjectBase
+class WXDLLIMPEXP_CORE wxBitmapDataObject : public wxBitmapDataObjectBase
 {
 public:
     // ctors
@@ -38,9 +38,20 @@ public:
     virtual bool GetDataHere(void *buf) const;
     virtual bool SetData(size_t len, const void *buf);
 
+    virtual size_t GetDataSize(const wxDataFormat& WXUNUSED(format)) const
+        { return GetDataSize(); }
+    virtual bool GetDataHere(const wxDataFormat& WXUNUSED(format),
+                             void *buf) const
+        { return GetDataHere(buf); }
+    virtual bool SetData(const wxDataFormat& WXUNUSED(format),
+                         size_t len, const void *buf)
+        { return SetData(len, buf); }
+
 private:
     // the DIB data
     void /* BITMAPINFO */ *m_data;
+
+    DECLARE_NO_COPY_CLASS(wxBitmapDataObject)
 };
 
 // ----------------------------------------------------------------------------
@@ -49,7 +60,7 @@ private:
 // FIXME did I already mention it was ugly?
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxBitmapDataObject2 : public wxBitmapDataObjectBase
+class WXDLLIMPEXP_CORE wxBitmapDataObject2 : public wxBitmapDataObjectBase
 {
 public:
     // ctors
@@ -62,34 +73,64 @@ public:
     virtual size_t GetDataSize() const;
     virtual bool GetDataHere(void *buf) const;
     virtual bool SetData(size_t len, const void *buf);
+
+    virtual size_t GetDataSize(const wxDataFormat& WXUNUSED(format)) const
+        { return GetDataSize(); }
+    virtual bool GetDataHere(const wxDataFormat& WXUNUSED(format),
+                             void *buf) const
+        { return GetDataHere(buf); }
+    virtual bool SetData(const wxDataFormat& WXUNUSED(format),
+                         size_t len, const void *buf)
+        { return SetData(len, buf); }
+
+private:
+    DECLARE_NO_COPY_CLASS(wxBitmapDataObject2)
 };
 
 // ----------------------------------------------------------------------------
 // wxFileDataObject - data object for CF_HDROP
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFileDataObject : public wxFileDataObjectBase
+class WXDLLIMPEXP_CORE wxFileDataObject : public wxFileDataObjectBase
 {
 public:
+    wxFileDataObject() { }
+
     // implement base class pure virtuals
     virtual bool SetData(size_t len, const void *buf);
     virtual size_t GetDataSize() const;
     virtual bool GetDataHere(void *pData) const;
     virtual void AddFile(const wxString& file);
+
+    virtual size_t GetDataSize(const wxDataFormat& WXUNUSED(format)) const
+        { return GetDataSize(); }
+    virtual bool GetDataHere(const wxDataFormat& WXUNUSED(format),
+                             void *buf) const
+        { return GetDataHere(buf); }
+    virtual bool SetData(const wxDataFormat& WXUNUSED(format),
+                         size_t len, const void *buf)
+        { return SetData(len, buf); }
+
+private:
+    DECLARE_NO_COPY_CLASS(wxFileDataObject)
 };
 
 // ----------------------------------------------------------------------------
 // wxURLDataObject: data object for URLs
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxURLDataObject : public wxDataObjectComposite
+class WXDLLIMPEXP_CORE wxURLDataObject : public wxDataObjectComposite
 {
 public:
-    wxURLDataObject();
+    // initialize with URL in ctor or use SetURL later
+    wxURLDataObject(const wxString& url = wxEmptyString);
 
     // return the URL as string
     wxString GetURL() const;
 
+    // Set a string as the URL in the data object
+    void SetURL(const wxString& url);
+
     // override to set m_textFormat
     virtual bool SetData(const wxDataFormat& format,
                          size_t len,
@@ -98,6 +139,8 @@ public:
 private:
     // last data object we got data in
     wxDataObjectSimple *m_dataObjectLast;
+
+    DECLARE_NO_COPY_CLASS(wxURLDataObject)
 };
 
 #endif // _WX_MSW_OLE_DATAOBJ2_H