QMacMime Class

Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QMacMime Class Reference

The QMacMime class maps open-standard MIME to Mac flavors. More...

`#include <qmime.h>`

List of all member functions.

## Public Members

- QMacMime ( char t )
- virtual ~QMacMime ()
- virtual const char * convertorName () = 0
- virtual int countFlavors () = 0
- virtual int flavor ( int index ) = 0
- virtual bool canConvert ( const char * mime, int flav ) = 0
- virtual const char * mimeFor ( int flav ) = 0
- virtual int flavorFor ( const char * mime ) = 0
- virtual QByteArray convertToMime ( QValueList<QByteArray> data, const char * mime, int flav ) = 0
- virtual QValueList<QByteArray> convertFromMime ( QByteArray data, const char * mime, int flav ) = 0

## Static Public Members

- QPtrList<QMacMime> all ( QMacMimeType t )
- QMacMime * convertor ( QMacMimeType t, const char * mime, int flav )
- const char * flavorToMime ( QMacMimeType t, int flav )

## Detailed Description

The QMacMime class maps open-standard MIME to Mac flavors.

Qt's drag-and-drop and clipboard facilities use the MIME standard. On X11, this maps trivially to the Xdnd protocol, but on Mac although some applications use MIME types to describe clipboard formats, others use arbitrary non-standardized naming conventions, or unnamed built-in Mac formats.

By instantiating subclasses of QMacMime that provide conversions between Mac flavors and MIME formats, you can convert proprietary clipboard formats to MIME formats.

Qt has predefined support for the following Mac flavors:

- kScrapFlavorTypeUnicode - converted to "text/plain;charset=ISO-10646-UCS-2" and supported by QTextDrag.
- kScrapFlavorTypeText - converted to "text/plain;charset=system" or "text/plain" and supported by QTextDrag.
- kScrapFlavorTypePicture - converted to "image/format", where format is a Qt image format, and supported by QImageDrag.
- kDragFlavorTypeHFS - converted to "text/uri-list", and supported by QUriDrag.

You can check if a MIME type is convertible using canConvert() and can perform conversions with convertToMime() and convertFromMime().

See also Drag And Drop Classes, Input/Output and Networking, and Miscellaneous Classes.

## Member Function Documentation

### QMacMime::QMacMime ( char t )

Constructs a new conversion object of type t, adding it to the globally accessed list of available convertors.

### QMacMime::~QMacMime ()`[virtual]`

Destroys a conversion object, removing it from the global list of available convertors.

### QPtrList<QMacMime> QMacMime::all ( QMacMimeType t )`[static]`

Returns a list of all currently defined QMacMime objects of type t.

### bool QMacMime::canConvert ( const char * mime, int flav )`[pure virtual]`

Returns TRUE if the convertor can convert (both ways) between mime and flav; otherwise returns FALSE.

All subclasses must reimplement this pure virtual function.

### QValueList<QByteArray> QMacMime::convertFromMime ( QByteArray data, const char * mime, int flav )`[pure virtual]`

Returns data converted from MIME type mime to Mac flavor flav.

Note that Mac flavors must all be self-terminating. The return value may contain trailing data.

All subclasses must reimplement this pure virtual function.

### QByteArray QMacMime::convertToMime ( QValueList<QByteArray> data, const char * mime, int flav )`[pure virtual]`

Returns data converted from Mac flavor flav to MIME type mime.

Note that Mac flavors must all be self-terminating. The input data may contain trailing data.

All subclasses must reimplement this pure virtual function.

### QMacMime * QMacMime::convertor ( QMacMimeType t, const char * mime, int flav )`[static]`

Returns the most-recently created QMacMime of type t that can convert between the mime and flav formats. Returns 0 if no such convertor exists.

### const char * QMacMime::convertorName ()`[pure virtual]`

Returns a name for the convertor.

All subclasses must reimplement this pure virtual function.

### int QMacMime::countFlavors ()`[pure virtual]`

Returns the number of Mac flavors supported by this convertor.

All subclasses must reimplement this pure virtual function.

### int QMacMime::flavor ( int index )`[pure virtual]`

Returns the Mac flavor supported by this convertor that is ordinarily at position index. This means that flavor(0) returns the first Mac flavor supported, and flavor(countFlavors()-1) returns the last. If index is out of range the return value is undefined.

All subclasses must reimplement this pure virtual function.

### int QMacMime::flavorFor ( const char * mime )`[pure virtual]`

Returns the Mac flavor used for MIME type mime, or 0 if this convertor does not support mime.

All subclasses must reimplement this pure virtual function.

### const char * QMacMime::flavorToMime ( QMacMimeType t, int flav )`[static]`

Returns a MIME type of type t for flav, or 0 if none exists.

### const char * QMacMime::mimeFor ( int flav )`[pure virtual]`

Returns the MIME type used for Mac flavor flav, or 0 if this convertor does not support flav.

All subclasses must reimplement this pure virtual function.

This file is part of the Qt toolkit. Copyright © 1995-2004 Trolltech. All Rights Reserved.