// Author: Vadim Zeitlin, Robert Roebling
// Modified by:
// Created: 26.05.99
-// RCS-ID: $Id$
// Copyright: (c) wxWidgets Team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// the one and only format we support
wxDataFormat m_format;
- DECLARE_NO_COPY_CLASS(wxDataObjectSimple)
+ wxDECLARE_NO_COPY_CLASS(wxDataObjectSimple);
};
// ----------------------------------------------------------------------------
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;
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) const;
-
private:
// the list of all (simple) data objects whose formats we support
wxSimpleDataObjectList m_dataObjects;
wxDataFormat m_receivedFormat;
- DECLARE_NO_COPY_CLASS(wxDataObjectComposite)
+ wxDECLARE_NO_COPY_CLASS(wxDataObjectComposite);
};
// ============================================================================
#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:
private:
wxString m_text;
- DECLARE_NO_COPY_CLASS(wxTextDataObject)
+ wxDECLARE_NO_COPY_CLASS(wxTextDataObject);
};
// ----------------------------------------------------------------------------
protected:
wxBitmap m_bitmap;
- DECLARE_NO_COPY_CLASS(wxBitmapDataObjectBase)
+ wxDECLARE_NO_COPY_CLASS(wxBitmapDataObjectBase);
};
// ----------------------------------------------------------------------------
protected:
wxArrayString m_filenames;
- DECLARE_NO_COPY_CLASS(wxFileDataObjectBase)
+ wxDECLARE_NO_COPY_CLASS(wxFileDataObjectBase);
};
// ----------------------------------------------------------------------------
size_t m_size;
void *m_data;
- DECLARE_NO_COPY_CLASS(wxCustomDataObject)
+ wxDECLARE_NO_COPY_CLASS(wxCustomDataObject);
};
// ----------------------------------------------------------------------------
#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__)