Класс 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() для каждого экземпляра, начиная с последнего созданного экземпляра в первую очередь. Фактические преобразования будут выполняться с помощью convertToMime() и convertFromMime().
Примечание: API использует термин «тип» в некоторых случаях. Это сделано для обеспечения обратной совместимости, и теперь его следует понимать как 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-типы должны быть самозавершающимися. Значение возврата может содержать данные с конца.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QVariant QMacPasteboardMime::convertToMime(const QString &mime, QList<QByteArray> data, QString flav)
Возвращает data, преобразованное из Mac UTI flav в тип MIME mime.
Обратите внимание, что все Mac-типы должны быть самозавершающимися. Входные данные 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, используемый для Mac-типа 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.11/qmacpasteboardmime.html