Класс 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 в некоторых случаях используется термин «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, используемый для Mac-flavors 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/qt-5.9/qmacpasteboardmime.html