-As mentioned above, data may be placed into the \helpref{wxClipboard}{wxclipboard}
-or a \helpref{wxDropSource}{wxdropsource} instance either directly or on-demand.
-As long as only one format is offerred, putting data directly into the clipboard may
-be sufficient. But imagine that you paste a large piece of text to the clipboard and
-offer it in "text/plain", "text/rtf", "text/html", "application/word" and your own
-format for internal use - here offering data on-demand is required to minimize memory
-consumption. This would generally get implemented using a central object that
-contains clipboard information in the format with the maximum of information. 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.
-
-Let's assume that you have written an HTML editor and want it to paste contents
-in the formats "text/plain" and "text/html" to the clipboard. For offering
-data on-demand in "text/plain" you would derive your class from \helpref{wxTextDataObject}{wxtextdataobject}
-and for offering data on-demand in "text/html" you would derive your own class from
-\helpref{wxPrivateDataObject}{wxprivatedataobject} and set its ID string
-identifying the format to "text/html" using \helpref{wxPrivateDataObject::SetId}{wxprivatedataobjectsetid}.
-In your two derived classed you'd then have a pointer or reference to the central
-data container and you'd override the methods returning the size of the
-available data and the WriteData() methods in both classes.
-