*/
void SetType(wxDataFormatId type);
+ /**
+ Returns @true if the formats are different.
+ */
+ bool operator !=(const wxDataFormat& format) const;
+
/**
Returns @true if the formats are different.
*/
bool operator !=(wxDataFormatId format) const;
+ /**
+ Returns @true if the formats are equal.
+ */
+ bool operator ==(const wxDataFormat& format) const;
+
/**
Returns @true if the formats are equal.
*/
};
+const wxDataFormat wxFormatInvalid;
+
/**
@class wxDataObject
objects which only render their data or only set it (i.e. work in only one
direction), should return 0 from GetFormatCount().
- @beginWxPythonOnly
- At this time this class is not directly usable from wxPython. Derive a
- class from wxPyDataObjectSimple() instead.
- @endWxPythonOnly
-
@beginWxPerlOnly
This class is not currently usable from wxPerl; you may use
Wx::PlDataObjectSimple instead.
Direction dir = Get) const = 0;
/**
- The method will write the data of the format @a format in the buffer
- @a buf and return @true on success, @false on failure.
+ The method will write the data of the format @a format to the buffer
+ @a buf. In other words, copy the data from this object in the given
+ format to the supplied buffer. Returns @true on success, @false on
+ failure.
*/
virtual bool GetDataHere(const wxDataFormat& format, void* buf) const = 0;
/**
Set the data in the format @a format of the length @a len provided in
- the buffer @a buf.
+ the buffer @a buf. In other words, copy length bytes of data from the
+ buffer to this data object.
@param format
The format for which to set the data.
/**
Set the data. The data object will make an internal copy.
-
- @beginWxPythonOnly
- This method expects a string in wxPython. You can pass nearly any
- object by pickling it first.
- @endWxPythonOnly
*/
virtual bool SetData(size_t size, const void* data);
/**
Like SetData(), but doesn't copy the data - instead the object takes
ownership of the pointer.
-
- @beginWxPythonOnly
- This method expects a string in wxPython. You can pass nearly any
- object by pickling it first.
- @endWxPythonOnly
*/
void TakeData(size_t size, void* data);
};
@since 2.9.1
*/
wxDataObjectSimple *GetObject(const wxDataFormat& format,
- wxDataObjectBase::Direction dir = Get) const;
+ wxDataObject::Direction dir = wxDataObject::Get) const;
};
be set must override SetData(). Of course, the objects supporting both
operations must override all three methods.
- @beginWxPythonOnly
- 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.
- @endWxPythonOnly
-
@beginWxPerlOnly
In wxPerl, you need to derive your data object class from
Wx::PlDataObjectSimple.
Copy the data to the buffer, return @true on success.
Must be implemented in the derived class if the object supports rendering
its data.
-
- @beginWxPythonOnly
- When implementing this method in wxPython, no additional parameters are
- required and the data should be returned from the method as a string.
- @endWxPythonOnly
*/
virtual bool GetDataHere(void* buf) const;
Copy the data from the buffer, return @true on success.
Must be implemented in the derived class if the object supports setting
its data.
-
- @beginWxPythonOnly
- When implementing this method in wxPython, the data comes as a single
- string parameter rather than the two shown here.
- @endWxPythonOnly
*/
virtual bool SetData(size_t len, const void* buf);
This class may be used as is, but GetBitmap() may be overridden to increase
efficiency.
- @beginWxPythonOnly
- If you wish to create a derived wxBitmapDataObject class in wxPython you
- should derive the class from wxPyBitmapDataObject in order to get
- Python-aware capabilities for the various virtual methods.
- @endWxPythonOnly
-
@library{wxcore}
@category{dnd}
wxStrings is already a very efficient operation (data is not actually
copied because wxStrings are reference counted).
- @beginWxPythonOnly
- If you wish to create a derived wxTextDataObject class in wxPython you
- should derive the class from wxPyTextDataObject in order to get
- Python-aware capabilities for the various virtual methods.
- @endWxPythonOnly
-
@library{wxcore}
@category{dnd}
Returns 1 under other platforms (e.g. wxMSW) or when building in ANSI mode
(@c wxUSE_UNICODE==0).
*/
- virtual size_t GetFormatCount(Direction dir = Get);
+ virtual size_t GetFormatCount(wxDataObject::Direction dir = wxDataObject::Get) const;
/**
Returns the preferred format supported by this object.
under other ports returns only one of the two, depending on the build mode.
*/
virtual void GetAllFormats(wxDataFormat* formats,
- Direction dir = Get) const = 0;
+ wxDataObject::Direction dir = wxDataObject::Get) const;
/**
Sets the text associated with the data object. This method is called