Version: 3.1.0
wxDataObjectSimple Class Reference

#include <wx/dataobj.h>

+ Inheritance diagram for wxDataObjectSimple:

Detailed Description

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 directly, it must be derived. 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.

wxPerl Note: In wxPerl, you need to derive your data object class from Wx::PlDataObjectSimple.

Library:  wxCore
Category:  Clipboard and Drag & Drop
See Also
Drag and Drop Overview, Drag & Drop Sample, wxFileDataObject, wxTextDataObject, wxBitmapDataObject

Public Member Functions

 wxDataObjectSimple (const wxDataFormat &format=wxFormatInvalid)
 Constructor accepts the supported format (none by default) which may also be set later with SetFormat().
 
virtual bool GetDataHere (void *buf) const
 Copy the data to the buffer, return true on success.
 
virtual size_t GetDataSize () const
 Gets the size of our data.
 
const wxDataFormatGetFormat () const
 Returns the (one and only one) format supported by this object.
 
virtual bool SetData (size_t len, const void *buf)
 Copy the data from the buffer, return true on success.
 
void SetFormat (const wxDataFormat &format)
 Sets the supported format.
 
- Public Member Functions inherited from wxDataObject
 wxDataObject ()
 Constructor.
 
virtual ~wxDataObject ()
 Destructor.
 
virtual void GetAllFormats (wxDataFormat *formats, Direction dir=Get) const =0
 Copies all formats supported in the given direction dir to the array pointed to by formats.
 
virtual bool GetDataHere (const wxDataFormat &format, void *buf) const =0
 The method will write the data of the format format to the buffer buf.
 
virtual size_t GetDataSize (const wxDataFormat &format) const =0
 Returns the data size of the given format format.
 
virtual size_t GetFormatCount (Direction dir=Get) const =0
 Returns the number of available formats for rendering or setting the data.
 
virtual wxDataFormat GetPreferredFormat (Direction dir=Get) const =0
 Returns the preferred format for either rendering the data (if dir is Get, its default value) or for setting it.
 
virtual bool SetData (const wxDataFormat &format, size_t len, const void *buf)
 Set the data in the format format of the length len provided in the buffer buf.
 
bool IsSupported (const wxDataFormat &format, Direction dir=Get) const
 Returns true if this format is supported.
 

Additional Inherited Members

- Public Types inherited from wxDataObject
enum  Direction {
  Get = 0x01,
  Set = 0x02,
  Both = 0x03
}
 

Constructor & Destructor Documentation

wxDataObjectSimple::wxDataObjectSimple ( const wxDataFormat format = wxFormatInvalid)

Constructor accepts the supported format (none by default) which may also be set later with SetFormat().

Member Function Documentation

virtual bool wxDataObjectSimple::GetDataHere ( void *  buf) const
virtual

Copy the data to the buffer, return true on success.

Must be implemented in the derived class if the object supports rendering its data.

Reimplemented in wxRichTextBufferDataObject.

virtual size_t wxDataObjectSimple::GetDataSize ( ) const
virtual

Gets the size of our data.

Must be implemented in the derived class if the object supports rendering its data.

Reimplemented in wxRichTextBufferDataObject.

const wxDataFormat& wxDataObjectSimple::GetFormat ( ) const

Returns the (one and only one) format supported by this object.

It is assumed that the format is supported in both directions.

virtual bool wxDataObjectSimple::SetData ( size_t  len,
const void *  buf 
)
virtual

Copy the data from the buffer, return true on success.

Must be implemented in the derived class if the object supports setting its data.

Reimplemented in wxRichTextBufferDataObject, and wxCustomDataObject.

void wxDataObjectSimple::SetFormat ( const wxDataFormat format)

Sets the supported format.