]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dataobj2.h
added support for user-defined types to wxConfig (patch 1753875)
[wxWidgets.git] / include / wx / msw / ole / dataobj2.h
index 5bb231f9f0773533494bdfbd4496e26f5ad37954..8389942302c1514de666733afe18623aca9070a7 100644 (file)
@@ -7,7 +7,7 @@
 // Created:     21.10.99
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 // 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
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_MSW_OLE_DATAOBJ2_H
@@ -38,9 +38,20 @@ public:
     virtual bool GetDataHere(void *buf) const;
     virtual bool SetData(size_t len, const void *buf);
 
     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;
 private:
     // the DIB data
     void /* BITMAPINFO */ *m_data;
+
+    DECLARE_NO_COPY_CLASS(wxBitmapDataObject)
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -62,6 +73,18 @@ 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;
     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)
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -71,8 +94,53 @@ public:
 class WXDLLEXPORT wxFileDataObject : public wxFileDataObjectBase
 {
 public:
 class WXDLLEXPORT wxFileDataObject : public wxFileDataObjectBase
 {
 public:
+    wxFileDataObject() { }
+
     // implement base class pure virtuals
     virtual bool SetData(size_t len, const void *buf);
     // 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
+{
+public:
+    // 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,
+                         const void *buf);
+
+private:
+    // last data object we got data in
+    wxDataObjectSimple *m_dataObjectLast;
+
+    DECLARE_NO_COPY_CLASS(wxURLDataObject)
 };
 
 #endif // _WX_MSW_OLE_DATAOBJ2_H
 };
 
 #endif // _WX_MSW_OLE_DATAOBJ2_H