QWindowsMime
Section: Misc. Reference Manual Pages (3qt)
Updated: 2 February 2007
Index
Return to Main Contents
NAME
QWindowsMime - Maps open-standard MIME to Window Clipboard formats
SYNOPSIS
#include <qmime.h>
Public Members
QWindowsMime ()
virtual ~QWindowsMime ()
virtual const char * convertorName () = 0
virtual int countCf () = 0
virtual int cf ( int index ) = 0
virtual bool canConvert ( const char * mime, int cf ) = 0
virtual const char * mimeFor ( int cf ) = 0
virtual int cfFor ( const char * mime ) = 0
virtual QByteArray convertToMime ( QByteArray data, const char * mime, int cf ) = 0
virtual QByteArray convertFromMime ( QByteArray data, const char * mime, int cf ) = 0
Static Public Members
void initialize ()
QPtrList<QWindowsMime> all ()
QWindowsMime * convertor ( const char * mime, int cf )
const char * cfToMime ( int cf )
DESCRIPTION
The QWindowsMime class maps open-standard MIME to Window Clipboard formats.
Qt's drag-and-drop and clipboard facilities use the MIME standard. On X11, this maps trivially to the Xdnd protocol, but on Windows although some applications use MIME types to describe clipboard formats, others use arbitrary non-standardized naming conventions, or unnamed built-in formats of Windows.
By instantiating subclasses of QWindowsMime that provide conversions between Windows Clipboard and MIME formats, you can convert proprietary clipboard formats to MIME formats.
Qt has predefined support for the following Windows Clipboard formats:
- CF_UNICODETEXT - converted to "text/plain;charset=ISO-10646-UCS-2" and supported by QTextDrag.
-
- CF_TEXT - converted to "text/plain;charset=system" or "text/plain" and supported by QTextDrag.
-
- CF_DIB - converted to "image/*", where * is a Qt image format, and supported by QImageDrag.
-
- CF_HDROP - converted to "text/uri-list", and supported by QUriDrag.
-
An example use of this class would be to map the Windows Metafile clipboard format (CF_METAFILEPICT) to and from the MIME type "image/x-wmf". This conversion might simply be adding or removing a header, or even just passing on the data. See the Drag-and-Drop documentation for more information on choosing and definition MIME types.
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
QWindowsMime::QWindowsMime ()
Constructs a new conversion object, adding it to the globally accessed list of available convertors.
QWindowsMime::~QWindowsMime () [virtual]
Destroys a conversion object, removing it from the global list of available convertors.
QPtrList<QWindowsMime> QWindowsMime::all () [static]
Returns a list of all currently defined QWindowsMime objects.
bool QWindowsMime::canConvert ( const char * mime, int cf ) [pure virtual]
Returns TRUE if the convertor can convert (both ways) between mime and cf; otherwise returns FALSE.
All subclasses must reimplement this pure virtual function.
int QWindowsMime::cf ( int index ) [pure virtual]
Returns the Windows Clipboard format supported by this convertor that is ordinarily at position index. This means that cf(0) returns the first Windows Clipboard format supported, and cf(countCf()-1) returns the last. If index is out of range the return value is undefined.
All subclasses must reimplement this pure virtual function.
int QWindowsMime::cfFor ( const char * mime ) [pure virtual]
Returns the Windows Clipboard type used for MIME type mime, or 0 if this convertor does not support mime.
All subclasses must reimplement this pure virtual function.
const char * QWindowsMime::cfToMime ( int cf ) [static]
Returns a MIME type for cf, or 0 if none exists.
QByteArray QWindowsMime::convertFromMime ( QByteArray data, const char * mime, int cf ) [pure virtual]
Returns data converted from MIME type mime to Windows Clipboard format cf.
Note that Windows Clipboard formats must all be self-terminating. The return value may contain trailing data.
All subclasses must reimplement this pure virtual function.
QByteArray QWindowsMime::convertToMime ( QByteArray data, const char * mime, int cf ) [pure virtual]
Returns data converted from Windows Clipboard format cf to MIME type mime.
Note that Windows Clipboard formats must all be self-terminating. The input data may contain trailing data.
All subclasses must reimplement this pure virtual function.
QWindowsMime * QWindowsMime::convertor ( const char * mime, int cf ) [static]
Returns the most-recently created QWindowsMime that can convert between the mime and cf formats. Returns 0 if no such convertor exists.
const char * QWindowsMime::convertorName () [pure virtual]
Returns a name for the convertor.
All subclasses must reimplement this pure virtual function.
int QWindowsMime::countCf () [pure virtual]
Returns the number of Windows Clipboard formats supported by this convertor.
All subclasses must reimplement this pure virtual function.
void QWindowsMime::initialize () [static]
This is an internal function.
const char * QWindowsMime::mimeFor ( int cf ) [pure virtual]
Returns the MIME type used for Windows Clipboard format cf, or 0 if this convertor does not support cf.
All subclasses must reimplement this pure virtual function.
SEE ALSO
http://doc.trolltech.com/qwindowsmime.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html.
Good bug reports help us to help you. Thank you.
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with
a web browser. This man page is provided as a convenience for those
users who prefer man pages, although this format is not officially
supported by Trolltech.
If you find errors in this manual page, please report them to
qt-bugs@trolltech.com.
Please include the name of the manual page (qwindowsmime.3qt) and the Qt
version (3.3.8).