Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qwindowsole.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QWINDOWSOLE_H
5#define QWINDOWSOLE_H
6
7#include "qwindowscombase.h"
8#include <QtCore/qt_windows.h>
9
10#include <QtCore/qlist.h>
11#include <QtCore/qmap.h>
12#include <QtCore/qpointer.h>
13
14#include <objidl.h>
15
17
18class QMimeData;
19class QWindow;
20
21class QWindowsOleDataObject : public QWindowsComBase<IDataObject>
22{
23public:
26
27 void releaseQt();
28 QMimeData *mimeData() const;
29 DWORD reportedPerformedEffect() const;
30
31 // IDataObject methods
32 STDMETHOD(GetData)(LPFORMATETC pformatetcIn, LPSTGMEDIUM pmedium) override;
33 STDMETHOD(GetDataHere)(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium) override;
34 STDMETHOD(QueryGetData)(LPFORMATETC pformatetc) override;
35 STDMETHOD(GetCanonicalFormatEtc)(LPFORMATETC pformatetc, LPFORMATETC pformatetcOut) override;
36 STDMETHOD(SetData)(LPFORMATETC pformatetc, STGMEDIUM FAR *pmedium, BOOL fRelease) override;
37 STDMETHOD(EnumFormatEtc)(DWORD dwDirection, LPENUMFORMATETC FAR *ppenumFormatEtc) override;
38 STDMETHOD(DAdvise)
39 (FORMATETC FAR *pFormatetc, DWORD advf, LPADVISESINK pAdvSink,
40 DWORD FAR *pdwConnection) override;
41 STDMETHOD(DUnadvise)(DWORD dwConnection) override;
42 STDMETHOD(EnumDAdvise)(LPENUMSTATDATA FAR *ppenumAdvise) override;
43
44private:
46 const int CF_PERFORMEDDROPEFFECT;
47 DWORD performedEffect = DROPEFFECT_NONE;
48};
49
50class QWindowsOleEnumFmtEtc : public QWindowsComBase<IEnumFORMATETC>
51{
52public:
53 explicit QWindowsOleEnumFmtEtc(const QList<FORMATETC> &fmtetcs);
54 explicit QWindowsOleEnumFmtEtc(const QList<LPFORMATETC> &lpfmtetcs);
55 ~QWindowsOleEnumFmtEtc() override;
56
57 bool isNull() const;
58
59 // IEnumFORMATETC methods
60 STDMETHOD(Next)(ULONG celt, LPFORMATETC rgelt, ULONG FAR *pceltFetched) override;
61 STDMETHOD(Skip)(ULONG celt) override;
62 STDMETHOD(Reset)(void) override;
63 STDMETHOD(Clone)(LPENUMFORMATETC FAR *newEnum) override;
64
65private:
66 bool copyFormatEtc(LPFORMATETC dest, const FORMATETC *src) const;
67
68 ULONG m_nIndex = 0;
69 QList<LPFORMATETC> m_lpfmtetcs;
70 bool m_isNull = false;
71};
72
74
75#endif // QWINDOWSOLE_H
Definition qlist.h:74
\inmodule QtCore
Definition qmimedata.h:16
\inmodule QtCore
Definition qpointer.h:18
\inmodule QtGui
Definition qwindow.h:63
OLE data container.
Definition qwindowsole.h:22
~QWindowsOleDataObject() override
FORMATETC FAR * pFormatetc
Definition qwindowsole.h:39
STDMETHOD() SetData(LPFORMATETC pformatetc, STGMEDIUM FAR *pmedium, BOOL fRelease) override
FORMATETC FAR DWORD advf
Definition qwindowsole.h:39
STDMETHOD() GetCanonicalFormatEtc(LPFORMATETC pformatetc, LPFORMATETC pformatetcOut) override
STDMETHOD() EnumDAdvise(LPENUMSTATDATA FAR *ppenumAdvise) override
QMimeData * mimeData() const
STDMETHOD() QueryGetData(LPFORMATETC pformatetc) override
DWORD reportedPerformedEffect() const
STDMETHOD() GetData(LPFORMATETC pformatetcIn, LPSTGMEDIUM pmedium) override
STDMETHOD() GetDataHere(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium) override
FORMATETC FAR DWORD LPADVISESINK pAdvSink
Definition qwindowsole.h:39
STDMETHOD() EnumFormatEtc(DWORD dwDirection, LPENUMFORMATETC FAR *ppenumFormatEtc) override
STDMETHOD() DUnadvise(DWORD dwConnection) override
Enumerates the FORMATETC structures supported by QWindowsOleDataObject.
Definition qwindowsole.h:51
~QWindowsOleEnumFmtEtc() override
STDMETHOD() Reset(void) override
STDMETHOD() Next(ULONG celt, LPFORMATETC rgelt, ULONG FAR *pceltFetched) override
STDMETHOD() Clone(LPENUMFORMATETC FAR *newEnum) override
STDMETHOD() Skip(ULONG celt) override
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLenum src
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
tagSTGMEDIUM STGMEDIUM
tagFORMATETC FORMATETC