Класс QMacPasteboardMime
Класс QMacPasteboardMime преобразует MIME-тип в формат Uniform Type Identifier (UTI) и обратно. Подробнее...
| Заголовок: | #include <QMacPasteboardMime> |
| qmake: | QT += macextras |
| С версии: | Qt 5.2 |
Открытые функции
| QMacPasteboardMime(char) | |
| 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)
Создаёт экземпляр QMacPasteboardMime по умолчанию.
[virtual] QMacPasteboardMime::~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-flavours должны быть самозавершающимися. Возвращаемое значение может содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QVariant QMacPasteboardMime::convertToMime(const QString &mime, QList<QByteArray> data, QString flav)
Возвращает data, преобразованную из Mac UTI flav в MIME-тип mime.
Обратите внимание, что все Mac-flavours должны быть самозавершающимися. Входные данные data могут содержать хвостовые данные.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[pure virtual] QString QMacPasteboardMime::convertorName()
Возвращает имя преобразователя.
Все подклассы должны переопределять эту чисто виртуальную функцию.
[virtual] int QMacPasteboardMime::count(QMimeData *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 flavor 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.12/qmacpasteboardmime.html