Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwaylanddatadevice_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 Klarälvdalens Datakonsult AB (KDAB).
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
6
#
ifndef
QWAYLANDDATADEVICE_H
7
#
define
QWAYLANDDATADEVICE_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
#
include
<
qtwaylandclientglobal_p
.
h
>
21
#
include
<
QObject
>
22
#
include
<
QPointer
>
23
#
include
<
QPoint
>
24
25
#
include
<
QtWaylandClient
/
private
/
qwayland
-
wayland
.
h
>
26
27
#
include
<
memory
>
28
29
QT_REQUIRE_CONFIG
(
wayland_datadevice
);
30
31
QT_BEGIN_NAMESPACE
32
33
class
QMimeData;
34
class
QPlatformDragQtResponse;
35
class
QWindow;
36
37
namespace
QtWayland
{
38
class
xdg_toplevel_drag_v1;
39
}
40
41
namespace
QtWaylandClient
{
42
43
class
QWaylandDisplay;
44
class
QWaylandDataDeviceManager;
45
class
QWaylandDataOffer;
46
class
QWaylandDataSource;
47
class
QWaylandInputDevice;
48
class
QWaylandWindow;
49
50
class
QWaylandDataDevice
:
public
QObject
,
public
QtWayland
::
wl_data_device
51
{
52
Q_OBJECT
53
public
:
54
QWaylandDataDevice
(
QWaylandDataDeviceManager
*
manager
,
QWaylandInputDevice
*
inputDevice
);
55
~
QWaylandDataDevice
()
override
;
56
57
QWaylandDataOffer *
selectionOffer
()
const
;
58
void
invalidateSelectionOffer
();
59
QWaylandDataSource *
selectionSource
()
const
;
60
void
setSelectionSource
(QWaylandDataSource *source);
61
62
#
if
QT_CONFIG
(
draganddrop
)
63
QWaylandDataOffer
*
dragOffer
()
const
;
64
bool
startDrag
(
QMimeData
*
mimeData
,
Qt
::
DropActions
supportedActions
,
QWaylandWindow
*
icon
);
65
void
cancelDrag
();
66
#
endif
67
68
protected
:
69
void
data_device_data_offer
(
struct
::wl_data_offer *id)
override
;
70
71
#
if
QT_CONFIG
(
draganddrop
)
72
void
data_device_drop
()
override
;
73
void
data_device_enter
(
uint32_t
serial
,
struct
::
wl_surface
*
surface
,
wl_fixed_t
x
,
wl_fixed_t
y
,
struct
::
wl_data_offer
*
id
)
override
;
74
void
data_device_leave
()
override
;
75
void
data_device_motion
(
uint32_t
time
,
wl_fixed_t
x
,
wl_fixed_t
y
)
override
;
76
#
endif
77
void
data_device_selection
(
struct
::wl_data_offer *id)
override
;
78
79
private
Q_SLOTS
:
80
void
selectionSourceCancelled
();
81
82
#
if
QT_CONFIG
(
draganddrop
)
83
void
dragSourceCancelled
();
84
#
endif
85
86
private
:
87
void
sendResponse(Qt::DropActions supportedActions,
const
QPlatformDragQtResponse &response);
88
89
static
int
dropActionsToWl(Qt::DropActions dropActions);
90
91
92
QWaylandDisplay *m_display =
nullptr
;
93
QWaylandInputDevice *m_inputDevice =
nullptr
;
94
uint32_t m_enterSerial = 0;
95
QPointer<QWindow> m_dragWindow;
96
QPoint m_dragPoint;
97
std::unique_ptr<QWaylandDataOffer> m_dragOffer;
98
std::unique_ptr<QWaylandDataOffer> m_selectionOffer;
99
std::unique_ptr<QWaylandDataSource> m_selectionSource;
100
std::unique_ptr<QWaylandDataSource> m_dragSource;
101
QtWayland
::xdg_toplevel_drag_v1 *m_toplevelDrag =
nullptr
;
102
};
103
104
}
105
106
QT_END_NAMESPACE
107
108
#
endif
// QWAYLANDDATADEVICE_H
QtWaylandClient::QWaylandAbstractDataOffer
Definition
qwaylanddataoffer_p.h:39
QtWaylandClient::QWaylandAbstractDataOffer::startReceiving
virtual void startReceiving(const QString &mimeType, int fd)=0
QtWaylandClient::QWaylandAbstractDataOffer::mimeData
virtual QMimeData * mimeData()=0
QtWaylandClient::QWaylandAbstractDataOffer::~QWaylandAbstractDataOffer
virtual ~QWaylandAbstractDataOffer()=default
QtWaylandClient::QWaylandClipboard
Definition
qwaylandclipboard_p.h:35
QtWaylandClient::QWaylandDataControlDeviceV1
Definition
qwaylanddatacontrolv1_p.h:88
QtWaylandClient::QWaylandDataControlDeviceV1::selectionOffer
QWaylandDataControlOfferV1 * selectionOffer() const
Definition
qwaylanddatacontrolv1_p.h:95
QtWaylandClient::QWaylandDataControlDeviceV1::primarySelectionOffer
QWaylandDataControlOfferV1 * primarySelectionOffer() const
Definition
qwaylanddatacontrolv1_p.h:94
QtWaylandClient::QWaylandDataControlDeviceV1::invalidateSelectionOffer
void invalidateSelectionOffer()
Definition
qwaylanddatacontrolv1.cpp:62
QtWaylandClient::QWaylandDataControlDeviceV1::selectionSource
QWaylandDataControlSourceV1 * selectionSource() const
Definition
qwaylanddatacontrolv1_p.h:97
QtWaylandClient::QWaylandDataControlDeviceV1::~QWaylandDataControlDeviceV1
~QWaylandDataControlDeviceV1() override
Definition
qwaylanddatacontrolv1.cpp:57
QtWaylandClient::QWaylandDataControlDeviceV1::setSelectionSource
void setSelectionSource(QWaylandDataControlSourceV1 *source)
Definition
qwaylanddatacontrolv1.cpp:71
QtWaylandClient::QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_finished
void zwlr_data_control_device_v1_finished() override
Definition
qwaylanddatacontrolv1.cpp:112
QtWaylandClient::QWaylandDataControlDeviceV1::primarySelectionSource
QWaylandDataControlSourceV1 * primarySelectionSource() const
Definition
qwaylanddatacontrolv1_p.h:98
QtWaylandClient::QWaylandDataControlDeviceV1::setPrimarySelectionSource
void setPrimarySelectionSource(QWaylandDataControlSourceV1 *source)
Definition
qwaylanddatacontrolv1.cpp:83
QtWaylandClient::QWaylandDataControlManagerV1
Definition
qwaylanddatacontrolv1_p.h:40
QtWaylandClient::QWaylandDataControlManagerV1::QWaylandDataControlManagerV1
QWaylandDataControlManagerV1(QWaylandDisplay *display, uint id, uint version)
Definition
qwaylanddatacontrolv1.cpp:21
QtWaylandClient::QWaylandDataControlManagerV1::display
QWaylandDisplay * display() const
Definition
qwaylanddatacontrolv1_p.h:44
QtWaylandClient::QWaylandDataControlManagerV1::createDevice
QWaylandDataControlDeviceV1 * createDevice(QWaylandInputDevice *seat)
Definition
qwaylanddatacontrolv1.cpp:27
QtWaylandClient::QWaylandDataControlOfferV1
Definition
qwaylanddatacontrolv1_p.h:51
QtWaylandClient::QWaylandDataControlOfferV1::mimeData
QMimeData * mimeData() override
Definition
qwaylanddatacontrolv1_p.h:56
QtWaylandClient::QWaylandDataControlOfferV1::QWaylandDataControlOfferV1
QWaylandDataControlOfferV1(QWaylandDisplay *display, ::zwlr_data_control_offer_v1 *offer)
Definition
qwaylanddatacontrolv1.cpp:32
QtWaylandClient::QWaylandDataControlOfferV1::startReceiving
void startReceiving(const QString &mimeType, int fd) override
Definition
qwaylanddatacontrolv1.cpp:38
QtWaylandClient::QWaylandDataControlOfferV1::~QWaylandDataControlOfferV1
~QWaylandDataControlOfferV1() override
Definition
qwaylanddatacontrolv1_p.h:54
QtWaylandClient::QWaylandDataControlOfferV1::zwlr_data_control_offer_v1_offer
void zwlr_data_control_offer_v1_offer(const QString &mime_type) override
Definition
qwaylanddatacontrolv1.cpp:44
QtWaylandClient::QWaylandDataControlSourceV1
Definition
qwaylanddatacontrolv1_p.h:67
QtWaylandClient::QWaylandDataDevice
Definition
qwaylanddatadevice_p.h:51
QtWaylandClient::QWaylandDataDevice::~QWaylandDataDevice
~QWaylandDataDevice() override
Definition
qwaylanddatadevice.cpp:43
QtWaylandClient::QWaylandDataDevice::selectionSource
QWaylandDataSource * selectionSource() const
Definition
qwaylanddatadevice.cpp:68
QtWaylandClient::QWaylandDataDevice::selectionOffer
QWaylandDataOffer * selectionOffer() const
Definition
qwaylanddatadevice.cpp:51
QtWaylandClient::QWaylandDataDevice::setSelectionSource
void setSelectionSource(QWaylandDataSource *source)
Definition
qwaylanddatadevice.cpp:73
QtWaylandClient::QWaylandDataDevice::invalidateSelectionOffer
void invalidateSelectionOffer()
Definition
qwaylanddatadevice.cpp:56
QtWaylandClient::QWaylandDataOffer
Definition
qwaylanddataoffer_p.h:50
QtWaylandClient::QWaylandDataSource
Definition
qwaylanddatasource_p.h:36
QtWaylandClient::QWaylandMimeData
Definition
qwaylanddataoffer_p.h:73
QtWaylandClient::QWaylandMimeData::~QWaylandMimeData
~QWaylandMimeData() override
Definition
qwaylanddataoffer.cpp:159
QtWaylandClient::QWaylandMimeData::retrieveData_sys
QVariant retrieveData_sys(const QString &mimeType, QMetaType type) const override
Definition
qwaylanddataoffer.cpp:199
QtWaylandClient::QWaylandMimeData::appendFormat
void appendFormat(const QString &mimeType)
Definition
qwaylanddataoffer.cpp:163
QtWaylandClient::QWaylandMimeData::formats_sys
QStringList formats_sys() const override
Definition
qwaylanddataoffer.cpp:177
QtWaylandClient::QWaylandMimeData::QWaylandMimeData
QWaylandMimeData(QWaylandAbstractDataOffer *dataOffer)
Definition
qwaylanddataoffer.cpp:154
QtWaylandClient::QWaylandMimeData::hasFormat_sys
bool hasFormat_sys(const QString &mimeType) const override
Definition
qwaylanddataoffer.cpp:172
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtWaylandClient
Definition
qwaylandclientextension.h:16
QtWayland
Definition
qwaylanddisplay_p.h:54
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(animation)
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(liburing)
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(clipboard)
qtbase
src
plugins
platforms
wayland
qwaylanddatadevice_p.h
Generated on
for Qt by
1.18.0