This is the simplest possible implementation of the wxDataObject class. The data object of (a class derived from) this class only supports one format, so the number of virtual functions to be implemented is reduced.
Notice that this is still an abstract base class and cannot be used but should be derived from.
wxPython note: If you wish to create a derived wxDataObjectSimple class in wxPython you should derive the class from wxPyDataObjectSimple in order to get Python-aware capabilities for the various virtual methods.
wxPerl note: In wxPerl, you need to derive your data object class from Wx::PlDataObjectSimple.
Virtual functions to override
The objects supporting rendering the data must override GetDataSize and GetDataHere while the objects which may be set must override SetData. Of course, the objects supporting both operations must override all three methods.
Clipboard and drag and drop overview, DnD sample, wxFileDataObject, wxTextDataObject, wxBitmapDataObject
wxDataObjectSimple(const wxDataFormat& format = wxFormatInvalid)
Constructor accepts the supported format (none by default) which may also be set later with SetFormat.
const wxDataFormat& GetFormat() const
Returns the (one and only one) format supported by this object. It is supposed that the format is supported in both directions.
void SetFormat(const wxDataFormat& format)
Sets the supported format.
virtual size_t GetDataSize() const
Gets the size of our data. Must be implemented in the derived class if the object supports rendering its data.
virtual bool GetDataHere(void *buf) const
Copy the data to the buffer, return true on success. Must be implemented in the derived class if the object supports rendering its data.
wxPython note: When implementing this method in wxPython, no additional parameters are required and the data should be returned from the method as a string.
virtual bool SetData(size_t len, const void *buf)
Copy the data from the buffer, return true on success. Must be implemented in the derived class if the object supports setting its data.
wxPython note: When implementing this method in wxPython, the data comes as a single string parameter rather than the two shown here.