X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/371a5b4e62eb415107e045588f614fa49e866e78..d0332cbc07d487c30d83515fb3351790565ec1de:/include/wx/gtk/dataobj2.h diff --git a/include/wx/gtk/dataobj2.h b/include/wx/gtk/dataobj2.h index 2c05728baa..b820f1c22c 100644 --- a/include/wx/gtk/dataobj2.h +++ b/include/wx/gtk/dataobj2.h @@ -11,15 +11,11 @@ #ifndef _WX_GTK_DATAOBJ2_H_ #define _WX_GTK_DATAOBJ2_H_ -#if defined(__GNUG__) && !defined(__APPLE__) - #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,7 +23,7 @@ public: wxBitmapDataObject(const wxBitmap& bitmap); // destr - ~wxBitmapDataObject(); + virtual ~wxBitmapDataObject(); // override base class virtual to update PNG data too virtual void SetBitmap(const wxBitmap& bitmap); @@ -38,9 +34,22 @@ public: 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(); } @@ -48,22 +57,13 @@ protected: void *m_pngData; void DoConvertToPng(); - -private: - // virtual function hiding supression - size_t GetDataSize(const wxDataFormat& format) const - { return(wxDataObjectSimple::GetDataSize(format)); } - bool GetDataHere(const wxDataFormat& format, void* pBuf) const - { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } - bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf) - { return(wxDataObjectSimple::SetData(format, nLen, pBuf)); } }; // ---------------------------------------------------------------------------- // 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 @@ -74,16 +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: - // virtual function hiding supression - size_t GetDataSize(const wxDataFormat& format) const - { return(wxDataObjectSimple::GetDataSize(format)); } - bool GetDataHere(const wxDataFormat& format, void* pBuf) const - { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } - bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf) - { return(wxDataObjectSimple::SetData(format, nLen, pBuf)); } + wxString m_url; }; + #endif // _WX_GTK_DATAOBJ2_H_