]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dataobj2.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / msw / ole / dataobj2.h
index af68898d3cd2d26d8f647ba7d31c771a4f2f69de..8cda74f5ea0a233cd50b3039b9ff80b9d6c472c0 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;
+
+    wxDECLARE_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,20 +73,74 @@ 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:
+    wxDECLARE_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:
+    wxDECLARE_NO_COPY_CLASS(wxFileDataObject);
+};
+
+// ----------------------------------------------------------------------------
+// wxURLDataObject: data object for URLs
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE 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;
+
+    wxDECLARE_NO_COPY_CLASS(wxURLDataObject);
 };
 
 #endif // _WX_MSW_OLE_DATAOBJ2_H