X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f364be84b91d4e19729634ebf0b119145303a35..14b44999eb335f3fc84b4362980b1730b8887588:/include/wx/gtk/dataobj2.h?ds=sidebyside diff --git a/include/wx/gtk/dataobj2.h b/include/wx/gtk/dataobj2.h index 8f42fa8703..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,26 +23,36 @@ 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(); } -private: size_t m_pngSize; void *m_pngData; @@ -57,16 +63,66 @@ private: // 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 // ---------------------------------- + void AddFile( const wxString &filename ); + + 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_