1999-01-13 09:23:31 -05:00
|
|
|
\section{\class{wxDataObject}}\label{wxdataobject}
|
|
|
|
|
|
|
|
A wxDataObject represents data that can be copied to or from the clipboard, or
|
1999-11-01 13:20:39 -05:00
|
|
|
dragged and dropped. There are two classes directly derived from wxDataObject:
|
|
|
|
wxDataObjectSimple and wxDataObjectComposite. As you will guess, wxDataObjectSimple
|
|
|
|
holds data for a single format (such as HTML or text) and wxDataObjectComposite
|
|
|
|
can hold any number of wxDataObjectSimple classes. Please note that this is an
|
|
|
|
easy way to use Drag'n'Drop and the clipboard with multiple formats, but not the
|
|
|
|
most efficient one as each wxDataObjectSimple would contain the whole data in its
|
|
|
|
respective formars. Now imagine that you want to paste 200 pages of text in your
|
|
|
|
proprietary format, as well as Word, RTF, HTML, Unicode and plain text to the
|
|
|
|
clipboard and even today's computers are in trouble. For this case, you will have
|
|
|
|
to derive from wxDataObject directly and make it enumerate its formats and provide
|
|
|
|
the data in the requested format on demand.
|
|
|
|
|
|
|
|
Note that neither the GTK data transfer mechanisms for the clipboard and Drag'n'Drop
|
|
|
|
nor the OLE data transfer copies any data until another application actually
|
|
|
|
requests the data. This is in contrast to the "feel" offered to the user of a
|
|
|
|
program who would normally think that the data resides in the clipboard after
|
|
|
|
having pressed "Copy" - in reality it is only declared to be available.
|
1999-01-13 09:23:31 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
There are several predefined data object classes derived from wxDataObjectSimple:
|
|
|
|
\helpref{wxFileDataObject}{wxfiledataobject}, \helpref{wxTextDataObject}{wxtextdataobject}
|
|
|
|
and \helpref{wxBitmapDataObject}{wxbitmapdataobject} which can be used without change.
|
1999-01-29 19:15:17 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
You may also derive your own data object classes from \helpref{wxCustomDataObject}{wxprivatedataobject}
|
1999-01-29 19:15:17 -05:00
|
|
|
for user-defined types. The format of user-defined data is given as mime-type string literal,
|
|
|
|
such as "application/word" or "image/png". These strings are used as they are under Unix (so
|
|
|
|
far only GTK) to identify a format and are translated into their Windows equivalent under
|
|
|
|
Win32 (using the OLE IDataObject for data exchange to and from the clipboard and for Drag'n'Drop).
|
|
|
|
Note that the format string translation under Windows is not yet finnished.
|
|
|
|
|
1999-01-13 09:23:31 -05:00
|
|
|
\wxheading{Derived from}
|
|
|
|
|
|
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
|
1999-02-15 15:41:29 -05:00
|
|
|
\wxheading{Include files}
|
|
|
|
|
|
|
|
<wx/dataobj.h>
|
|
|
|
|
1999-01-13 09:23:31 -05:00
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxFileDataObject}{wxfiledataobject},
|
|
|
|
\helpref{wxTextDataObject}{wxtextdataobject},
|
|
|
|
\helpref{wxBitmapDataObject}{wxbitmapdataobject},
|
1999-01-29 19:15:17 -05:00
|
|
|
\helpref{wxPrivateDataObject}{wxprivatedataobject},
|
1999-01-13 09:23:31 -05:00
|
|
|
\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropTarget}{wxdroptarget},
|
|
|
|
\helpref{wxDropSource}{wxdropsource},
|
|
|
|
\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
|
|
|
|
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
|
|
|
|
\membersection{wxDataObject::wxDataObject}\label{wxdataobjectwxdataobject}
|
|
|
|
|
|
|
|
\func{}{wxDataObject}{\void}
|
|
|
|
|
|
|
|
Constructor.
|
|
|
|
|
|
|
|
\membersection{wxDataObject::\destruct{wxDataObject}}\label{wxdataobjectdtor}
|
|
|
|
|
|
|
|
\func{}{\destruct{wxDataObject}}{\void}
|
|
|
|
|
|
|
|
Destructor.
|
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
\membersection{wxDataObject::GetFormatCount}\label{wxdataobjectgetformatcount}
|
|
|
|
|
|
|
|
\constfunc{virtual size_t}{GetFormatCount}{\void}
|
|
|
|
|
|
|
|
Return the number of available formats.
|
|
|
|
|
|
|
|
\membersection{wxDataObject::GetDataHere}\label{wxdataobjectgetdatahere}
|
|
|
|
|
|
|
|
\constfunc{virtual bool}{GetDataHere}{\param{const wxDataFormat\&}{ format}, \param{void}{*buf} }
|
|
|
|
|
|
|
|
The method will write the data of the format {\it format} in the buffer {\it buf}.
|
|
|
|
|
|
|
|
\membersection{wxDataObject::GetDataSize}\label{wxdataobjectgetdatasize}
|
|
|
|
|
|
|
|
\constfunc{virtual size\_t}{GetDataSize}{\param{const wxDataFormat\&}{ format} }
|
|
|
|
|
|
|
|
Returns the data size of the given format {\it format}.
|
|
|
|
|
|
|
|
\membersection{wxDataObject::GetPreferredFormat}\label{wxdataobjectgetpreferredformat}
|
1999-01-29 19:15:17 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
\constfunc{virtual wxDataFormat}{GetPreferredFormat}{\void}
|
1999-01-29 19:15:17 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
Returns the preferred format. Usually the first format in the list of available formats.
|
1999-01-29 19:15:17 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
\membersection{wxDataObject::SetData}\label{wxdataobjectsetdata}
|
1999-01-29 19:15:17 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
\func{virtual bool}{SetData}{\param{const wxDataFormat\&}{ format}, \param{size_t}{ len}, \param{const void}{*buf} }
|
1999-01-13 09:23:31 -05:00
|
|
|
|
1999-11-01 13:20:39 -05:00
|
|
|
Set the data of the format {\it format} and the size {\it len} provided in the buffer {\it buf}.
|
1999-01-13 09:23:31 -05:00
|
|
|
|
|
|
|
|