5#ifndef QQUICKEVENTS_P_P_H
6#define QQUICKEVENTS_P_P_H
19#include <private/qtquickglobal_p.h>
22#include <QtCore/qobject.h>
23#include <QtCore/qpointer.h>
24#include <QtGui/qevent.h>
25#include <QtGui/qpointingdevice.h>
26#include <QtGui/qvector2d.h>
27#include <QtQuick/qquickitem.h>
29#if QT_CONFIG(shortcut)
30# include <QtGui/qkeysequence.h>
38class QQuickPointerHandler;
43 Q_PROPERTY(
int key READ key CONSTANT FINAL)
44 Q_PROPERTY(QString text READ text CONSTANT FINAL)
45 Q_PROPERTY(
int modifiers READ modifiers CONSTANT FINAL)
46 Q_PROPERTY(
bool isAutoRepeat READ isAutoRepeat CONSTANT FINAL)
47 Q_PROPERTY(
int count READ count CONSTANT FINAL)
48 Q_PROPERTY(quint32 nativeScanCode READ nativeScanCode CONSTANT FINAL)
49 Q_PROPERTY(
bool accepted READ isAccepted WRITE setAccepted FINAL)
50 QML_NAMED_ELEMENT(KeyEvent)
51 QML_UNCREATABLE(
"Should only be used by signal handlers in the Keys attached property")
52 QML_ADDED_IN_VERSION(2, 0)
58 void reset(QEvent::Type type,
int key, Qt::KeyboardModifiers modifiers,
59 const QString &text = QString(),
bool autorep =
false, ushort count = 1)
63 m_modifiers = modifiers;
65 m_autoRepeat = autorep;
70 void reset(
const QKeyEvent &ke)
74 m_modifiers = ke.modifiers();
76 m_autoRepeat = ke.isAutoRepeat();
78 m_nativeScanCode = ke.nativeScanCode();
82 int key()
const {
return m_key; }
83 QString text()
const {
return m_text; }
84 int modifiers()
const {
return m_modifiers; }
85 bool isAutoRepeat()
const {
return m_autoRepeat; }
86 int count()
const {
return m_count; }
87 quint32 nativeScanCode()
const {
return m_nativeScanCode; }
89 bool isAccepted() {
return m_accepted; }
90 void setAccepted(
bool accepted) { m_accepted = accepted; }
92#if QT_CONFIG(shortcut)
93 Q_REVISION(2, 2) Q_INVOKABLE
bool matches(QKeySequence::StandardKey key)
const;
98 quint32 m_nativeScanCode = 0;
99 QEvent::Type m_type = QEvent::None;
103 bool m_accepted =
false;
104 bool m_autoRepeat =
false;
110 Q_PROPERTY(qreal x READ x CONSTANT FINAL)
111 Q_PROPERTY(qreal y READ y CONSTANT FINAL)
112 Q_PROPERTY(
int button READ button CONSTANT FINAL)
113 Q_PROPERTY(
int buttons READ buttons CONSTANT FINAL)
114 Q_PROPERTY(
int modifiers READ modifiers CONSTANT FINAL)
115#if QT_DEPRECATED_SINCE(6
, 6
)
116 Q_PROPERTY(
int source READ source CONSTANT REVISION(2, 7) FINAL)
118 Q_PROPERTY(
bool isClick READ isClick CONSTANT FINAL)
119 Q_PROPERTY(
bool wasHeld READ wasHeld CONSTANT FINAL)
120 Q_PROPERTY(
bool accepted READ isAccepted WRITE setAccepted FINAL)
121 Q_PROPERTY(
int flags READ flags CONSTANT REVISION(2, 11) FINAL)
122 QML_NAMED_ELEMENT(MouseEvent)
123 QML_UNCREATABLE(
"Should only be used by mouse event signal handlers, for example in MouseArea")
124 QML_ADDED_IN_VERSION(2, 0)
128 : _wasHeld(
false), _isClick(
false), _accepted(
false)
131 void reset(qreal x, qreal y, Qt::MouseButton button, Qt::MouseButtons buttons,
132 Qt::KeyboardModifiers modifiers,
bool isClick =
false,
bool wasHeld =
false,
133 Qt::MouseEventFlags flags = { })
139 _modifiers = modifiers;
140 _source = Qt::MouseEventNotSynthesized;
147 qreal x()
const {
return _x; }
148 qreal y()
const {
return _y; }
149 int button()
const {
return _button; }
150 int buttons()
const {
return _buttons; }
151 int modifiers()
const {
return _modifiers; }
152#if QT_DEPRECATED_SINCE(6
, 6
)
153 int source()
const {
return _source; }
155 bool wasHeld()
const {
return _wasHeld; }
156 bool isClick()
const {
return _isClick; }
159 void setX(qreal x) { _x = x; }
160 void setY(qreal y) { _y = y; }
161 void setPosition(
const QPointF &point) { _x = point.x(); _y = point.y(); }
162#if QT_DEPRECATED_SINCE(6
, 6
)
163 void setSource(Qt::MouseEventSource s) { _source = s; }
166 bool isAccepted() {
return _accepted; }
167 void setAccepted(
bool accepted) { _accepted = accepted; }
168 int flags()
const {
return _flags; }
172 Qt::MouseButton _button = Qt::NoButton;
173 Qt::MouseButtons _buttons = Qt::NoButton;
174 Qt::KeyboardModifiers _modifiers = Qt::NoModifier;
175 Qt::MouseEventSource _source = Qt::MouseEventNotSynthesized;
179 Qt::MouseEventFlags _flags = Qt::NoMouseEventFlag;
182#if QT_CONFIG(wheelevent)
183class Q_QUICK_EXPORT QQuickWheelEvent :
public QObject
186 Q_PROPERTY(
const QPointingDevice *device READ pointingDevice CONSTANT FINAL)
187 Q_PROPERTY(qreal x READ x CONSTANT FINAL)
188 Q_PROPERTY(qreal y READ y CONSTANT FINAL)
189 Q_PROPERTY(QPoint angleDelta READ angleDelta CONSTANT FINAL)
190 Q_PROPERTY(QPoint pixelDelta READ pixelDelta CONSTANT FINAL)
191 Q_PROPERTY(Qt::ScrollPhase phase READ phase CONSTANT FINAL)
192 Q_PROPERTY(
int buttons READ buttons CONSTANT FINAL)
193 Q_PROPERTY(
int modifiers READ modifiers CONSTANT FINAL)
194 Q_PROPERTY(
bool inverted READ inverted CONSTANT FINAL)
195 Q_PROPERTY(
bool accepted READ isAccepted WRITE setAccepted FINAL)
196 QML_NAMED_ELEMENT(WheelEvent)
197 QML_UNCREATABLE(
"Should only be used by wheel event signal handlers, for example in MouseArea")
198 QML_ADDED_IN_VERSION(2, 0)
201 QQuickWheelEvent() =
default;
203 void reset(
const QWheelEvent *event)
205 _device = event->pointingDevice();
206 _x = event->position().x();
207 _y = event->position().y();
208 _angleDelta = event->angleDelta();
209 _pixelDelta = event->pixelDelta();
210 _buttons = event->buttons();
211 _modifiers = event->modifiers();
213 _inverted = event->inverted();
214 _phase = event->phase();
217 const QPointingDevice *pointingDevice()
const {
return _device; }
218 qreal x()
const {
return _x; }
219 qreal y()
const {
return _y; }
220 QPoint angleDelta()
const {
return _angleDelta; }
221 QPoint pixelDelta()
const {
return _pixelDelta; }
222 int buttons()
const {
return _buttons; }
223 int modifiers()
const {
return _modifiers; }
224 Qt::ScrollPhase phase()
const {
return _phase; }
225 bool inverted()
const {
return _inverted; }
226 bool isAccepted() {
return _accepted; }
227 void setAccepted(
bool accepted) { _accepted = accepted; }
230 const QPointingDevice *_device =
nullptr;
235 Qt::MouseButtons _buttons = Qt::NoButton;
236 Qt::KeyboardModifiers _modifiers = Qt::NoModifier;
237 Qt::ScrollPhase _phase = Qt::NoScrollPhase;
238 bool _inverted =
false;
239 bool _accepted =
false;
246 Q_PROPERTY(
bool accepted READ isAccepted WRITE setAccepted FINAL)
247 QML_NAMED_ELEMENT(CloseEvent)
248 QML_UNCREATABLE(
"Should only be used by Window's closing signal")
249 QML_ADDED_IN_VERSION(2, 0)
252 QQuickCloseEvent() {}
254 bool isAccepted() {
return _accepted; }
255 void setAccepted(
bool accepted) { _accepted = accepted; }
258 bool _accepted =
true;
\qmlsignal QtQuick::Window::sceneGraphError(SceneGraphError error, QString message)
\qmlproperty int QtQuick::KeyEvent::key