X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dc8928439fa4bc0cfa69e98a98a7831dff3d459b..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/dataobj.h diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index ec7b0d76a4..d099f4b6b1 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -4,7 +4,6 @@ // Author: Vadim Zeitlin, Robert Roebling // Modified by: // Created: 26.05.99 -// RCS-ID: $Id$ // Copyright: (c) wxWidgets Team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -246,7 +245,7 @@ private: // the one and only format we support wxDataFormat m_format; - DECLARE_NO_COPY_CLASS(wxDataObjectSimple) + wxDECLARE_NO_COPY_CLASS(wxDataObjectSimple); }; // ---------------------------------------------------------------------------- @@ -274,11 +273,17 @@ public: void Add(wxDataObjectSimple *dataObject, bool preferred = false); // Report the format passed to the SetData method. This should be the - // format of the data object within the composite that recieved data from + // format of the data object within the composite that received data from // the clipboard or the DnD operation. You can use this method to find - // out what kind of data object was recieved. + // out what kind of data object was received. wxDataFormat GetReceivedFormat() const; + // Returns the pointer to the object which supports this format or NULL. + // The returned pointer is owned by wxDataObjectComposite and must + // therefore not be destroyed by the caller. + wxDataObjectSimple *GetObject(const wxDataFormat& format, + wxDataObjectBase::Direction dir = Get) const; + // implement base class pure virtuals // ---------------------------------- virtual wxDataFormat GetPreferredFormat(wxDataObjectBase::Direction dir = Get) const; @@ -295,10 +300,6 @@ public: virtual size_t GetBufferOffset( const wxDataFormat& format ); #endif -protected: - // returns the pointer to the object which supports this format or NULL - wxDataObjectSimple *GetObject(const wxDataFormat& format, wxDataObjectBase::Direction dir=Get) const; - private: // the list of all (simple) data objects whose formats we support wxSimpleDataObjectList m_dataObjects; @@ -309,7 +310,7 @@ private: wxDataFormat m_receivedFormat; - DECLARE_NO_COPY_CLASS(wxDataObjectComposite) + wxDECLARE_NO_COPY_CLASS(wxDataObjectComposite); }; // ============================================================================ @@ -332,6 +333,45 @@ private: #endif #endif // wxUSE_UNICODE +class WXDLLIMPEXP_CORE wxHTMLDataObject : public wxDataObjectSimple +{ +public: + // ctor: you can specify the text here or in SetText(), or override + // GetText() + wxHTMLDataObject(const wxString& html = wxEmptyString) + : wxDataObjectSimple(wxDF_HTML), + m_html(html) + { + } + + // virtual functions which you may override if you want to provide text on + // demand only - otherwise, the trivial default versions will be used + virtual size_t GetLength() const { return m_html.Len() + 1; } + virtual wxString GetHTML() const { return m_html; } + virtual void SetHTML(const wxString& html) { m_html = html; } + + 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_html; +}; + class WXDLLIMPEXP_CORE wxTextDataObject : public wxDataObjectSimple { public: @@ -393,7 +433,7 @@ public: private: wxString m_text; - DECLARE_NO_COPY_CLASS(wxTextDataObject) + wxDECLARE_NO_COPY_CLASS(wxTextDataObject); }; // ---------------------------------------------------------------------------- @@ -418,7 +458,7 @@ public: protected: wxBitmap m_bitmap; - DECLARE_NO_COPY_CLASS(wxBitmapDataObjectBase) + wxDECLARE_NO_COPY_CLASS(wxBitmapDataObjectBase); }; // ---------------------------------------------------------------------------- @@ -440,7 +480,7 @@ public: protected: wxArrayString m_filenames; - DECLARE_NO_COPY_CLASS(wxFileDataObjectBase) + wxDECLARE_NO_COPY_CLASS(wxFileDataObjectBase); }; // ---------------------------------------------------------------------------- @@ -501,7 +541,7 @@ private: size_t m_size; void *m_data; - DECLARE_NO_COPY_CLASS(wxCustomDataObject) + wxDECLARE_NO_COPY_CLASS(wxCustomDataObject); }; // ---------------------------------------------------------------------------- @@ -515,7 +555,7 @@ private: #include "wx/gtk/dataobj2.h" // wxURLDataObject defined in msw/ole/dataobj2.h -#else +#else #if defined(__WXGTK__) #include "wx/gtk1/dataobj2.h" #elif defined(__WXX11__)