Version: 3.1.1
wxDataFormat Class Reference

#include <wx/dataobj.h>

Detailed Description

A wxDataFormat is an encapsulation of a platform-specific format handle which is used by the system for the clipboard and drag and drop operations.

The applications are usually only interested in, for example, pasting data from the clipboard only if the data is in a format the program understands and a data format is something which uniquely identifies this format.

On the system level, a data format is usually just a number (CLIPFORMAT under Windows or Atom under X11, for example) and the standard formats are, indeed, just numbers which can be implicitly converted to wxDataFormat. The standard formats are:

wxDF_INVALID An invalid format - used as default argument for functions taking a wxDataFormat argument sometimes.
wxDF_TEXT Text format (wxString).
wxDF_BITMAP A bitmap (wxBitmap).
wxDF_METAFILE A metafile (wxMetafile, Windows only).
wxDF_FILENAME A list of filenames.
wxDF_HTML An HTML string. This is currently only valid on Mac and MSW.

As mentioned above, these standard formats may be passed to any function taking wxDataFormat argument because wxDataFormat has an implicit conversion from them (or, to be precise from the type wxDataFormat::NativeFormat which is the type used by the underlying platform for data formats).

Aside the standard formats, the application may also use custom formats which are identified by their names (strings) and not numeric identifiers. Although internally custom format must be created (or registered) first, you shouldn't care about it because it is done automatically the first time the wxDataFormat object corresponding to a given format name is created. The only implication of this is that you should avoid having global wxDataFormat objects with non-default constructor because their constructors are executed before the program has time to perform all necessary initialisations and so an attempt to do clipboard format registration at this time will usually lead to a crash!

Library:  wxCore
Category:  Clipboard and Drag & Drop
See also
Drag and Drop Overview, Drag & Drop Sample, wxDataObject

Public Member Functions

 wxDataFormat (wxDataFormatId format=wxDF_INVALID)
 Constructs a data format object for one of the standard data formats or an empty data object (use SetType() or SetId() later in this case). More...
 
 wxDataFormat (const wxString &format)
 Constructs a data format object for a custom format identified by its name format. More...
 
wxString GetId () const
 Returns the name of a custom format (this function will fail for a standard format). More...
 
wxDataFormatId GetType () const
 Returns the platform-specific number identifying the format. More...
 
void SetId (const wxString &format)
 Sets the format to be the custom format identified by the given name. More...
 
void SetType (wxDataFormatId type)
 Sets the format to the given value, which should be one of wxDF_XXX constants. More...
 
bool operator!= (const wxDataFormat &format) const
 Returns true if the formats are different. More...
 
bool operator!= (wxDataFormatId format) const
 Returns true if the formats are different. More...
 
bool operator== (const wxDataFormat &format) const
 Returns true if the formats are equal. More...
 
bool operator== (wxDataFormatId format) const
 Returns true if the formats are equal. More...
 

Constructor & Destructor Documentation

wxDataFormat::wxDataFormat ( wxDataFormatId  format = wxDF_INVALID)

Constructs a data format object for one of the standard data formats or an empty data object (use SetType() or SetId() later in this case).

wxPerl Note: In wxPerl use Wx::Bitmap->newNative(format).

wxDataFormat::wxDataFormat ( const wxString format)

Constructs a data format object for a custom format identified by its name format.

wxPerl Note: In wxPerl use Wx::Bitmap->newUser(format).

Member Function Documentation

wxString wxDataFormat::GetId ( ) const

Returns the name of a custom format (this function will fail for a standard format).

wxDataFormatId wxDataFormat::GetType ( ) const

Returns the platform-specific number identifying the format.

bool wxDataFormat::operator!= ( const wxDataFormat format) const

Returns true if the formats are different.

bool wxDataFormat::operator!= ( wxDataFormatId  format) const

Returns true if the formats are different.

bool wxDataFormat::operator== ( const wxDataFormat format) const

Returns true if the formats are equal.

bool wxDataFormat::operator== ( wxDataFormatId  format) const

Returns true if the formats are equal.

void wxDataFormat::SetId ( const wxString format)

Sets the format to be the custom format identified by the given name.

void wxDataFormat::SetType ( wxDataFormatId  type)

Sets the format to the given value, which should be one of wxDF_XXX constants.