.\" This is a wxWidgets manpage page generated from the XML docs .TH wxCustomDataObject 3wx 2005-02-15 "wxWidgets" "wxWidgets class documentation" .SH NAME wxCustomDataObject \- Custom data object class .SH DESCRIPTION wxCustomDataObject is a specialization of wxDataObjectSimple for some application-specific data in arbitrary (either custom or one of the standard ones). The only restriction is that it is supposed that this data can be copied bitwise (i.e. with memcpy() ), so it would be a bad idea to make it contain a C++ object (though C struct is fine). By default, wxCustomDataObject stores the data inside in a buffer. To put the data into the buffer you may use either SetData or TakeData depending on whether you want the object to make a copy of data or not. If you already store the data in another place, it may be more convenient and efficient to provide the data on-demand which is possible too if you override the virtual functions mentioned below. .SH "PARENTS" wxDataObjectSimple wxDataObject .SH "INCLUDE FILES" wx/dataobj.h .SH MEMBERS .SS wxCustomDataObject (const wxDataFormat& format = wxFormatInvalid) The constructor accepts a format argument which specifies the (single) format supported by this object. If it isn't set here, SetFormat should be used. .SS ~wxCustomDataObject () The destructor will free the data hold by the object. Notice that although it calls a virtual Free() function, the base class version will always be called (C++ doesn't allow calling virtual functions from constructors or destructors), so if you override Free() , you should override the destructor in your class as well (which would probably just call the derived class' version of Free() ). .SS virtual void * Alloc (size_t size) This function is called to allocate size bytes of memory from SetData(). The default version just uses the operator new. .SS virtual void Free () This function is called when the data is freed, you may override it to anything you want (or may be nothing at all). The default version calls operator delete[] on the data. .SS virtual size_t GetSize () Returns the data size in bytes. .SS virtual void * GetData () Returns a pointer to the data. .SS virtual void SetData (size_t sizeconst void *data) Set the data. The data object will make an internal copy. .SS virtual void TakeData (size_t sizeconst void *data) Like SetData , but doesn't copy the data - instead the object takes ownership of the pointer. .SH "SEE ALSO" wxDataObjectSimple wxDataObject wxDataObject .SH "AUTHORS" Documentation content by Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn, et al Conversion to manpage format by Arnout Engelen (http://bzzt.net), bugreports welcome.