X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b85d24e4cc885263d3bb72bd36a759fbd25631d..1f0acb435592470b421b80df854fbbb08cd2853f:/include/wx/msw/ole/dataobj2.h diff --git a/include/wx/msw/ole/dataobj2.h b/include/wx/msw/ole/dataobj2.h index af68898d3c..8cda74f5ea 100644 --- a/include/wx/msw/ole/dataobj2.h +++ b/include/wx/msw/ole/dataobj2.h @@ -7,7 +7,7 @@ // Created: 21.10.99 // RCS-ID: $Id$ // Copyright: (c) 1999 Vadim Zeitlin -// 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