Класс QMacPasteboardMime
Класс QMacPasteboardMime преобразует тип MIME в формат Uniform Type Identifier (UTI). Подробнее...
| Заголовок: | #include <QMacPasteboardMime> |
| qmake: | QT += macextras |
| С момента: | Qt 5.2 |
Открытые функции
| QMacPasteboardMime(char t) | |
| virtual | ~QMacPasteboardMime() |
| virtual bool | canConvert(const QString &mime, QString flav) = 0 |
| virtual QList<QByteArray> | convertFromMime(const QString &mime, QVariant data, QString flav) = 0 |
| virtual QVariant | convertToMime(const QString &mime, QList<QByteArray> data, QString flav) = 0 |
| virtual QString | convertorName() = 0 |
| virtual int | count(QMimeData *mimeData) |
| virtual QString | flavorFor(const QString &mime) = 0 |
| virtual QString | mimeFor(QString flav) = 0 |
Связанные нечлены
| void | qRegisterDraggedTypes(const QStringList &types) |
Подробное описание
Класс QMacPasteboardMime преобразует тип MIME в формат Uniform Type Identifier (UTI).
В Qt для перетаскивания и буфера обмена используется стандарт MIME. В X11 это отображается тривиально на протокол Xdnd. На Mac, хотя некоторые приложения используют MIME для описания содержимого буфера обмена, чаще используется формат UTI от Apple.
Роль QMacPasteboardMime заключается в мостике между MIME и UTI; Подклассы этого класса позволяют расширить обработку перетаскивания и буфера обмена Qt для преобразования в и из неподдерживаемых или проприетарных форматов UTI.
Подкласс QMacPasteboardMime будет автоматически зарегистрирован и активен при создании экземпляра.
Qt предоставляет предварительную поддержку следующих UTI:
| UTI | Преобразуется в |
|---|---|
public.utf8-plain-text |
text/plain |
public.utf16-plain-text |
text/plain |
public.html |
text/html |
public.url |
text/uri-list |
public.file-url |
text/uri-list |
public.tiff |
application/x-qt-image |
public.vcard |
text/plain |
com.apple.traditional-mac-plain-text |
text/plain |
com.apple.pict |
application/x-qt-image |
При работе с данными MIME Qt будет перебирать все экземпляры QMacPasteboardMime, чтобы найти экземпляр, способный преобразовать данные в или из определённого типа MIME. Для этого будет вызываться canConvert() для каждого экземпляра, начиная с последнего созданного экземпляра.
Файл QMacPasteboardMime содержит конкретные преобразования с помощью convertToMime() и convertFromMime().
Примечание: API использует термин "flavor" в некоторых случаях. Это сделано для обратной совместимости, и теперь он должен пониматься как UTI.
Документация по функциям членов
QMacPasteboardMime::QMacPasteboardMime(char t)
Создаёт новый объект преобразования типа t, добавляя его в глобальный список доступных преобразователей.
[virtual] QMacPasteboardMime::~QMacPasteboardMime()
Удаляет объект преобразования, удаляя его из глобального списка доступных преобразователей.
[pure virtual] bool QMacPasteboardMime::canConvert(const QString &mime, QString flav)
Возвращает true, если преобразователь может преобразовывать (в обе стороны) между mime и flav; в противном случае возвращает false.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QList<QByteArray> QMacPasteboardMime::convertFromMime(const QString &mime, QVariant data, QString flav)
Возвращает data, преобразованную из типа MIME mime в Mac UTI flav.
Обратите внимание, что все Mac-flavors должны быть самозавершающимися. Значение результата может содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QVariant QMacPasteboardMime::convertToMime(const QString &mime, QList<QByteArray> data, QString flav)
Возвращает data, преобразованную из Mac UTI flav в тип MIME mime.
Обратите внимание, что все Mac-flavors должны быть самозавершающимися. Входные данные data могут содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QString QMacPasteboardMime::convertorName()
Возвращает имя преобразователя.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[virtual] int QMacPasteboardMime::count(QMimeData *mimeData)
Возвращает количество элементов для заданных mimeData
[pure virtual] QString QMacPasteboardMime::flavorFor(const QString &mime)
Возвращает Mac UTI, используемый для типа MIME mime, или 0, если этот преобразователь не поддерживает mime.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QString QMacPasteboardMime::mimeFor(QString flav)
Возвращает MIME UTI, используемый для Mac-flavour flav, или 0, если этот преобразователь не поддерживает flav.
Все подклассы должны переопределять эту чисто виртуальную функцию.
Связанные нечлены
void qRegisterDraggedTypes(const QStringList &types)
Регистрирует заданные types как пользовательские типы буфера обмена.
Эта функция должна вызываться для включения событий перетаскивания для пользовательских типов буфера обмена в реализациях Cocoa. Это необходимо в дополнение к реализации подкласса QMacPasteboardMime. По умолчанию перетаскивание включено для всех стандартных типов буфера обмена.
См. также QMacPasteboardMime.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qmacpasteboardmime.html