X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b068c4e8a1f4919360329c345eae36ff95ab5a10..31cc5049d386913adeba034e499e3c181ad54a50:/include/wx/gtk/dataobj2.h diff --git a/include/wx/gtk/dataobj2.h b/include/wx/gtk/dataobj2.h index 9751638eb9..b820f1c22c 100644 --- a/include/wx/gtk/dataobj2.h +++ b/include/wx/gtk/dataobj2.h @@ -5,21 +5,17 @@ // Created: 19.10.99 (extracted from gtk/dataobj.h) // RCS-ID: $Id$ // Copyright: (c) 1998, 1999 Vadim Zeitlin, Robert Roebling -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_GTK_DATAOBJ2_H_ #define _WX_GTK_DATAOBJ2_H_ -#ifdef __GNUG__ - #pragma interface "dataobj.h" -#endif - // ---------------------------------------------------------------------------- // wxBitmapDataObject is a specialization of wxDataObject for bitmaps // ---------------------------------------------------------------------------- -class wxBitmapDataObject : public wxBitmapDataObjectBase +class WXDLLIMPEXP_CORE wxBitmapDataObject : public wxBitmapDataObjectBase { public: // ctors @@ -27,22 +23,33 @@ public: wxBitmapDataObject(const wxBitmap& bitmap); // destr - ~wxBitmapDataObject(); + virtual ~wxBitmapDataObject(); // override base class virtual to update PNG data too virtual void SetBitmap(const wxBitmap& bitmap); - void *GetPngData() const { return m_pngData; } - // implement base class pure virtuals // ---------------------------------- virtual size_t GetDataSize() const { return m_pngSize; } virtual bool GetDataHere(void *buf) const; virtual bool SetData(size_t len, const void *buf); + // Must provide overloads to avoid hiding them (and warnings about it) + virtual size_t GetDataSize(const wxDataFormat&) const + { + return GetDataSize(); + } + virtual bool GetDataHere(const wxDataFormat&, void *buf) const + { + return GetDataHere(buf); + } + virtual bool SetData(const wxDataFormat&, size_t len, const void *buf) + { + return SetData(len, buf); + } protected: - void Init() { m_pngData = (void *)NULL; m_pngSize = 0; } + void Init() { m_pngData = NULL; m_pngSize = 0; } void Clear() { free(m_pngData); } void ClearAll() { Clear(); Init(); } @@ -56,7 +63,7 @@ protected: // wxFileDataObject is a specialization of wxDataObject for file names // ---------------------------------------------------------------------------- -class wxFileDataObject : public wxFileDataObjectBase +class WXDLLIMPEXP_CORE wxFileDataObject : public wxFileDataObjectBase { public: // implement base class pure virtuals @@ -67,7 +74,55 @@ public: virtual size_t GetDataSize() const; virtual bool GetDataHere(void *buf) const; virtual bool SetData(size_t len, const void *buf); + // Must provide overloads to avoid hiding them (and warnings about it) + virtual size_t GetDataSize(const wxDataFormat&) const + { + return GetDataSize(); + } + virtual bool GetDataHere(const wxDataFormat&, void *buf) const + { + return GetDataHere(buf); + } + virtual bool SetData(const wxDataFormat&, size_t len, const void *buf) + { + return SetData(len, buf); + } +}; + +// ---------------------------------------------------------------------------- +// wxURLDataObject is a specialization of wxDataObject for URLs +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxURLDataObject : public wxDataObjectSimple +{ +public: + wxURLDataObject(const wxString& url = wxEmptyString); + + wxString GetURL() const { return m_url; } + void SetURL(const wxString& url) { m_url = url; } + + virtual size_t GetDataSize() const; + virtual bool GetDataHere(void *buf) const; + virtual bool SetData(size_t len, const void *buf); + + // Must provide overloads to avoid hiding them (and warnings about it) + virtual size_t GetDataSize(const wxDataFormat&) const + { + return GetDataSize(); + } + virtual bool GetDataHere(const wxDataFormat&, void *buf) const + { + return GetDataHere(buf); + } + virtual bool SetData(const wxDataFormat&, size_t len, const void *buf) + { + return SetData(len, buf); + } + +private: + wxString m_url; }; + #endif // _WX_GTK_DATAOBJ2_H_