7#include <QtCore/qt_windows.h>
9#include <QtCore/qlist.h>
10#include <QtCore/qmap.h>
11#include <QtCore/qpointer.h>
12#include <QtCore/private/qcomobject_p.h>
32 STDMETHOD(
GetData)(LPFORMATETC pformatetcIn, LPSTGMEDIUM pmedium)
noexcept override;
45 QPointer<QMimeData> data;
46 const int CF_PERFORMEDDROPEFFECT;
66 bool copyFormatEtc(LPFORMATETC dest,
const FORMATETC *src)
const;
69 QList<LPFORMATETC> m_lpfmtetcs;
70 bool m_isNull =
false;
Special mime data class managing delayed retrieval of clipboard data.
void releaseDataObject(IDataObject *) const override
IDataObject * retrieveDataObject() const override
Clipboard implementation.
void setMimeData(QMimeData *data, QClipboard::Mode mode=QClipboard::Clipboard) override
bool supportsMode(QClipboard::Mode mode) const override
QMimeData * mimeData(QClipboard::Mode mode=QClipboard::Clipboard) override
~QWindowsClipboard() override
bool ownsMode(QClipboard::Mode mode) const override
static QWindowsClipboard * instance()
HWND clipboardViewer() const
bool clipboardViewerWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result)
Windows procedure of the clipboard viewer.
bool hasFormat_sys(const QString &mimetype) const override
virtual IDataObject * retrieveDataObject() const =0
virtual void releaseDataObject(IDataObject *) const
QVariant retrieveData_sys(const QString &mimetype, QMetaType preferredType) const override
QStringList formats_sys() const override
STDMETHOD GetDataHere(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium) noexcept override
~QWindowsOleDataObject() override
FORMATETC FAR * pFormatetc
STDMETHOD QueryGetData(LPFORMATETC pformatetc) noexcept override
STDMETHOD SetData(LPFORMATETC pformatetc, STGMEDIUM FAR *pmedium, BOOL fRelease) noexcept override
STDMETHOD DUnadvise(DWORD dwConnection) noexcept override
QWindowsOleDataObject(QMimeData *mimeData)
QMimeData * mimeData() const
STDMETHOD EnumDAdvise(LPENUMSTATDATA FAR *ppenumAdvise) noexcept override
STDMETHOD EnumFormatEtc(DWORD dwDirection, LPENUMFORMATETC FAR *ppenumFormatEtc) noexcept override
DWORD reportedPerformedEffect() const
STDMETHOD GetCanonicalFormatEtc(LPFORMATETC pformatetc, LPFORMATETC pformatetcOut) noexcept override
STDMETHOD GetData(LPFORMATETC pformatetcIn, LPSTGMEDIUM pmedium) noexcept override
Enumerates the FORMATETC structures supported by QWindowsOleDataObject.
~QWindowsOleEnumFmtEtc() override
STDMETHOD Skip(ULONG celt) noexcept override
STDMETHOD Reset(void) noexcept override
STDMETHOD Next(ULONG celt, LPFORMATETC rgelt, ULONG FAR *pceltFetched) noexcept override
STDMETHOD Clone(LPENUMFORMATETC FAR *newEnum) noexcept override
QWindowsOleEnumFmtEtc(const QList< FORMATETC > &fmtetcs)
static bool isProcessBeingDebugged(HWND hwnd)
static void cleanClipboardPostRoutine()