wxRuby Documentation Home

# Wx::DataFormat

A DataFormat 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 DataFormat.
The standard formats are:

DF_INVALID | An invalid format – used as default argument forfunctions taking a DataFormat argument sometimes
DF_TEXT | Text format (String)
DF_BITMAP | A bitmap (Bitmap)
DF_METAFILE | A metafile (Metafile, Windows only)
DF_FILENAME | A list of filenames
DF_HTML | An HTML string. This is only valid when passed to SetClipboardDatawhen compiled with Visual C++ in non-Unicode mode

As mentioned above, these standard formats may be passed to any function taking
DataFormat argument because DataFormat has an implicit conversion from
them (or, to be precise from the type `DataFormat::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
DataFormat object corresponding to a given format name is created. The only
implication of this is that you should avoid having global DataFormat 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!

## Virtual functions to override

None

## Derived from

None

## See also

Clipboard and drag and drop overview,
DnD sample,
DataObject

## Methods

- DataFormat.new
- DataFormat.new
- DataFormat#get_id
- DataFormat#get_type
- DataFormat#set_id
- DataFormat#set_type

### DataFormat.new

DataFormat.new(%(arg-type)NativeFormat% format = DF_INVALID)

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

### DataFormat.new

DataFormat.new(%(arg-type)Char% format)

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

### DataFormat#==

Boolean operator $==$(%(arg-type)DataFormat% format)

Returns true if the formats are equal.

### DataFormat#!=

Boolean operator $!=$(%(arg-type)DataFormat% format)

Returns true if the formats are different.

### DataFormat#get_id

String get_id()

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

### DataFormat#get_type

NativeFormat get_type()

Returns the platform-specific number identifying the format.

### DataFormat#set_id

set_id(%(arg-type)Char% format)

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

### DataFormat#set_type

set_type(%(arg-type)NativeFormat% format)

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

[This page automatically generated from the Textile source at 2023-06-09 00:45:33 +0000]