Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwindowsclipboard.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// Qt-Security score:significant reason:default
4
5#ifndef QWINDOWSCLIPBOARD_H
6#define QWINDOWSCLIPBOARD_H
7
9
10#include <qpa/qplatformclipboard.h>
11
13
15
17public:
18
19protected:
20 IDataObject *retrieveDataObject() const override;
21 void releaseDataObject(IDataObject *) const override;
22};
23
25{
27public:
30 void registerViewer(); // Call in initialization, when context is up.
31 void cleanup();
32
33 QMimeData *mimeData(QClipboard::Mode mode = QClipboard::Clipboard) override;
34 void setMimeData(QMimeData *data, QClipboard::Mode mode = QClipboard::Clipboard) override;
35 bool supportsMode(QClipboard::Mode mode) const override;
36 bool ownsMode(QClipboard::Mode mode) const override;
37
38 inline bool clipboardViewerWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result);
39
40 static QWindowsClipboard *instance() { return m_instance; }
41
42 HWND clipboardViewer() const { return m_clipboardViewer; }
43
44private:
45 void clear();
46 void releaseIData();
47 inline void propagateClipboardMessage(UINT message, WPARAM wParam, LPARAM lParam) const;
48 inline void unregisterViewer();
49 inline bool ownsClipboard() const;
50
51 static QWindowsClipboard *m_instance;
52
54 QWindowsOleDataObject *m_data = nullptr;
55 HWND m_clipboardViewer = nullptr;
56 HWND m_nextClipboardViewer = nullptr;
57 bool m_formatListenerRegistered = false;
58};
59
60QT_END_NAMESPACE
61
62#endif // QWINDOWSCLIPBOARD_H
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
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.
Singleton container for all relevant information.
OLE data container.
Definition qwindowsole.h:23
QWindowsOleDataObject(QMimeData *mimeData)
QMimeData * mimeData() const
Combined button and popup list for selecting options.
static bool isProcessBeingDebugged(HWND hwnd)
static void cleanClipboardPostRoutine()