8#pragma qt_class(QtEvents)
11#include <QtGui/qtguiglobal.h>
13#include <QtCore/qcoreevent.h>
14#include <QtCore/qiodevice.h>
15#include <QtCore/qlist.h>
16#include <QtCore/qnamespace.h>
17#include <QtCore/qstring.h>
18#include <QtCore/qurl.h>
19#include <QtCore/qvariant.h>
20#include <QtGui/qeventpoint.h>
21#include <QtGui/qpointingdevice.h>
22#include <QtGui/qregion.h>
23#include <QtGui/qwindowdefs.h>
25#if QT_CONFIG(shortcut)
26# include <QtGui/qkeysequence.h>
39#if QT_CONFIG(shortcut)
44#if QT_CONFIG(gestures)
50 Q_DECL_EVENT_COMMON(QInputEvent)
52 explicit QInputEvent(Type type,
const QInputDevice *m_dev, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
54 const QInputDevice *device()
const {
return m_dev; }
55 QInputDevice::DeviceType deviceType()
const {
return m_dev ? m_dev->type() : QInputDevice::DeviceType::Unknown; }
56 inline Qt::KeyboardModifiers modifiers()
const {
return m_modState; }
57 inline void setModifiers(Qt::KeyboardModifiers modifiers) { m_modState = modifiers; }
58 inline quint64 timestamp()
const {
return m_timeStamp; }
59 virtual void setTimestamp(quint64 timestamp) { m_timeStamp = timestamp; }
62 QInputEvent(Type type, PointerEventTag,
const QInputDevice *dev, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
63 QInputEvent(Type type, SinglePointEventTag,
const QInputDevice *dev, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
65 const QInputDevice *m_dev =
nullptr;
66 quint64 m_timeStamp = 0;
67 Qt::KeyboardModifiers m_modState = Qt::NoModifier;
69 quint32 m_reserved = 0;
75 Q_DECL_EVENT_COMMON(QPointerEvent)
77 explicit QPointerEvent(Type type,
const QPointingDevice *dev,
78 Qt::KeyboardModifiers modifiers = Qt::NoModifier,
const QList<QEventPoint> &points = {});
80 const QPointingDevice *pointingDevice()
const;
81 QPointingDevice::PointerType pointerType()
const {
82 return pointingDevice() ? pointingDevice()->pointerType() : QPointingDevice::PointerType::Unknown;
84 void setTimestamp(quint64 timestamp) override;
85 qsizetype pointCount()
const {
return m_points.size(); }
86 QEventPoint &point(qsizetype i);
87 const QList<QEventPoint> &points()
const {
return m_points; }
88 QEventPoint *pointById(
int id);
89 bool allPointsGrabbed()
const;
90 virtual bool isBeginEvent()
const {
return false; }
91 virtual bool isUpdateEvent()
const {
return false; }
92 virtual bool isEndEvent()
const {
return false; }
93 bool allPointsAccepted()
const;
94 virtual void setAccepted(
bool accepted) override;
95 QObject *exclusiveGrabber(
const QEventPoint &point)
const;
96 void setExclusiveGrabber(
const QEventPoint &point, QObject *exclusiveGrabber);
97 QList<QPointer <QObject>> passiveGrabbers(
const QEventPoint &point)
const;
98 void clearPassiveGrabbers(
const QEventPoint &point);
99 bool addPassiveGrabber(
const QEventPoint &point, QObject *grabber);
100 bool removePassiveGrabber(
const QEventPoint &point, QObject *grabber);
103 QPointerEvent(Type type, SinglePointEventTag,
const QInputDevice *dev, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
105 QList<QEventPoint> m_points;
111 Q_PROPERTY(QObject *exclusivePointGrabber READ exclusivePointGrabber
112 WRITE setExclusivePointGrabber)
114 Q_DECL_EVENT_COMMON(QSinglePointEvent)
116 inline Qt::MouseButton button()
const {
return m_button; }
117 inline Qt::MouseButtons buttons()
const {
return m_mouseState; }
119 inline QPointF position()
const
120 { Q_ASSERT(!m_points.isEmpty());
return m_points.first().position(); }
121 inline QPointF scenePosition()
const
122 { Q_ASSERT(!m_points.isEmpty());
return m_points.first().scenePosition(); }
123 inline QPointF globalPosition()
const
124 { Q_ASSERT(!m_points.isEmpty());
return m_points.first().globalPosition(); }
126 bool isBeginEvent()
const override;
127 bool isUpdateEvent()
const override;
128 bool isEndEvent()
const override;
130 QObject *exclusivePointGrabber()
const
131 {
return QPointerEvent::exclusiveGrabber(points().first()); }
132 void setExclusivePointGrabber(QObject *exclusiveGrabber)
133 { QPointerEvent::setExclusiveGrabber(points().first(), exclusiveGrabber); }
136 friend class ::tst_QEvent;
137 friend class QMutableSinglePointEvent;
138 QSinglePointEvent(Type type,
const QPointingDevice *dev,
const QEventPoint &point,
139 Qt::MouseButton button, Qt::MouseButtons buttons,
140 Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source);
141 QSinglePointEvent(Type type,
const QPointingDevice *dev,
const QPointF &localPos,
142 const QPointF &scenePos,
const QPointF &globalPos,
143 Qt::MouseButton button, Qt::MouseButtons buttons,
144 Qt::KeyboardModifiers modifiers,
145 Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
147 Qt::MouseButton m_button = Qt::NoButton;
148 Qt::MouseButtons m_mouseState = Qt::NoButton;
149 Qt::MouseEventSource m_source;
151
152
153
154
157 quint16 m_reserved2 : 11;
159 quint16 m_doubleClick : 1;
162 quint16 m_invertedScrolling : 1;
167 Q_DECL_EVENT_COMMON(QEnterEvent)
169 QEnterEvent(
const QPointF &localPos,
const QPointF &scenePos,
const QPointF &globalPos,
170 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
172#if QT_DEPRECATED_SINCE(6
, 0
)
173#ifndef QT_NO_INTEGER_EVENT_COORDINATES
174 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
175 inline QPoint pos()
const {
return position().toPoint(); }
176 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
177 inline QPoint globalPos()
const {
return globalPosition().toPoint(); }
178 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
179 inline int x()
const {
return qRound(position().x()); }
180 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
181 inline int y()
const {
return qRound(position().y()); }
182 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
183 inline int globalX()
const {
return qRound(globalPosition().x()); }
184 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
185 inline int globalY()
const {
return qRound(globalPosition().y()); }
187 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
188 QPointF localPos()
const {
return position(); }
189 QT_DEPRECATED_VERSION_X_6_0(
"Use scenePosition()")
190 QPointF windowPos()
const {
return scenePosition(); }
191 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
192 QPointF screenPos()
const {
return globalPosition(); }
198 Q_DECL_EVENT_COMMON(QMouseEvent)
200#if QT_DEPRECATED_SINCE(6
, 4
)
201 QT_DEPRECATED_VERSION_X_6_4(
"Use another constructor")
202 QMouseEvent(Type type,
const QPointF &localPos, Qt::MouseButton button,
203 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers,
204 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
206 QMouseEvent(Type type,
const QPointF &localPos,
const QPointF &globalPos,
207 Qt::MouseButton button, Qt::MouseButtons buttons,
208 Qt::KeyboardModifiers modifiers,
209 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
210 QMouseEvent(Type type,
const QPointF &localPos,
const QPointF &scenePos,
const QPointF &globalPos,
211 Qt::MouseButton button, Qt::MouseButtons buttons,
212 Qt::KeyboardModifiers modifiers,
213 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
214 QMouseEvent(Type type,
const QPointF &localPos,
const QPointF &scenePos,
const QPointF &globalPos,
215 Qt::MouseButton button, Qt::MouseButtons buttons,
216 Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source,
217 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
219#ifndef QT_NO_INTEGER_EVENT_COORDINATES
220 inline QPoint pos()
const {
return position().toPoint(); }
222#if QT_DEPRECATED_SINCE(6
, 0
)
223#ifndef QT_NO_INTEGER_EVENT_COORDINATES
224 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
225 inline QPoint globalPos()
const {
return globalPosition().toPoint(); }
226 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
227 inline int x()
const {
return qRound(position().x()); }
228 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
229 inline int y()
const {
return qRound(position().y()); }
230 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
231 inline int globalX()
const {
return qRound(globalPosition().x()); }
232 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
233 inline int globalY()
const {
return qRound(globalPosition().y()); }
235 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
236 QPointF localPos()
const {
return position(); }
237 QT_DEPRECATED_VERSION_X_6_0(
"Use scenePosition()")
238 QPointF windowPos()
const {
return scenePosition(); }
239 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
240 QPointF screenPos()
const {
return globalPosition(); }
242 Qt::MouseEventSource source()
const;
243 Qt::MouseEventFlags flags()
const;
248 Q_DECL_EVENT_COMMON(QHoverEvent)
250 QHoverEvent(Type type,
const QPointF &scenePos,
const QPointF &globalPos,
const QPointF &oldPos,
251 Qt::KeyboardModifiers modifiers = Qt::NoModifier,
252 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
253#if QT_DEPRECATED_SINCE(6
, 3
)
254 QT_DEPRECATED_VERSION_X_6_3(
"Use the other constructor")
255 QHoverEvent(Type type,
const QPointF &pos,
const QPointF &oldPos,
256 Qt::KeyboardModifiers modifiers = Qt::NoModifier,
257 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
260#if QT_DEPRECATED_SINCE(6
, 0
)
261#ifndef QT_NO_INTEGER_EVENT_COORDINATES
262 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
263 inline QPoint pos()
const {
return position().toPoint(); }
266 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
267 inline QPointF posF()
const {
return position(); }
270 bool isUpdateEvent()
const override {
return true; }
273 inline QPoint oldPos()
const {
return m_oldPos.toPoint(); }
274 inline QPointF oldPosF()
const {
return m_oldPos; }
280#if QT_CONFIG(wheelevent)
281class Q_GUI_EXPORT QWheelEvent :
public QSinglePointEvent
284 Q_PROPERTY(
const QPointingDevice *device READ pointingDevice)
285 Q_PROPERTY(QPoint pixelDelta READ pixelDelta)
286 Q_PROPERTY(QPoint angleDelta READ angleDelta)
287 Q_PROPERTY(Qt::ScrollPhase phase READ phase)
288 Q_PROPERTY(
bool inverted READ inverted)
290 Q_DECL_EVENT_COMMON(QWheelEvent)
292 enum { DefaultDeltasPerStep = 120 };
294 QWheelEvent(
const QPointF &pos,
const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta,
295 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase,
296 bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized,
297 const QPointingDevice *device = QPointingDevice::primaryPointingDevice());
299 inline QPoint pixelDelta()
const {
return m_pixelDelta; }
300 inline QPoint angleDelta()
const {
return m_angleDelta; }
302 inline Qt::ScrollPhase phase()
const {
return Qt::ScrollPhase(m_phase); }
303 inline bool inverted()
const {
return m_invertedScrolling; }
304 inline bool isInverted()
const {
return m_invertedScrolling; }
305 inline bool hasPixelDelta()
const {
return !m_pixelDelta.isNull(); }
307 bool isBeginEvent()
const override;
308 bool isUpdateEvent()
const override;
309 bool isEndEvent()
const override;
310 Qt::MouseEventSource source()
const {
return Qt::MouseEventSource(m_source); }
318#if QT_CONFIG(tabletevent)
319class Q_GUI_EXPORT QTabletEvent :
public QSinglePointEvent
321 Q_DECL_EVENT_COMMON(QTabletEvent)
323 QTabletEvent(Type t,
const QPointingDevice *device,
324 const QPointF &pos,
const QPointF &globalPos,
325 qreal pressure,
float xTilt,
float yTilt,
326 float tangentialPressure, qreal rotation,
float z,
327 Qt::KeyboardModifiers keyState,
328 Qt::MouseButton button, Qt::MouseButtons buttons);
330#if QT_DEPRECATED_SINCE(6
, 0
)
331 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
332 inline QPoint pos()
const {
return position().toPoint(); }
333 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
334 inline QPoint globalPos()
const {
return globalPosition().toPoint(); }
336 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
337 inline const QPointF posF()
const {
return position(); }
338 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
339 inline const QPointF globalPosF()
const {
return globalPosition(); }
340 QT_DEPRECATED_VERSION_X_6_0(
"Use position().x()")
341 inline int x()
const {
return qRound(position().x()); }
342 QT_DEPRECATED_VERSION_X_6_0(
"Use position().y()")
343 inline int y()
const {
return qRound(position().y()); }
344 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition().x()")
345 inline int globalX()
const {
return qRound(globalPosition().x()); }
346 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition().y()")
347 inline int globalY()
const {
return qRound(globalPosition().y()); }
348 QT_DEPRECATED_VERSION_X_6_0(
"use globalPosition().x()")
349 inline qreal hiResGlobalX()
const {
return globalPosition().x(); }
350 QT_DEPRECATED_VERSION_X_6_0(
"use globalPosition().y()")
351 inline qreal hiResGlobalY()
const {
return globalPosition().y(); }
352 QT_DEPRECATED_VERSION_X_6_0(
"use pointingDevice().uniqueId()")
353 inline qint64 uniqueId()
const {
return pointingDevice() ? pointingDevice()->uniqueId().numericId() : -1; }
355 inline qreal pressure()
const { Q_ASSERT(!points().isEmpty());
return points().first().pressure(); }
356 inline qreal rotation()
const { Q_ASSERT(!points().isEmpty());
return points().first().rotation(); }
357 inline qreal z()
const {
return m_z; }
358 inline qreal tangentialPressure()
const {
return m_tangential; }
359 inline qreal xTilt()
const {
return m_xTilt; }
360 inline qreal yTilt()
const {
return m_yTilt; }
370#if QT_CONFIG(gestures)
371class Q_GUI_EXPORT QNativeGestureEvent :
public QSinglePointEvent
373 Q_DECL_EVENT_COMMON(QNativeGestureEvent)
375#if QT_DEPRECATED_SINCE(6
, 2
)
376 QT_DEPRECATED_VERSION_X_6_2(
"Use the other constructor")
377 QNativeGestureEvent(Qt::NativeGestureType type,
const QPointingDevice *dev,
const QPointF &localPos,
const QPointF &scenePos,
378 const QPointF &globalPos, qreal value, quint64 sequenceId, quint64 intArgument);
380 QNativeGestureEvent(Qt::NativeGestureType type,
const QPointingDevice *dev,
int fingerCount,
381 const QPointF &localPos,
const QPointF &scenePos,
const QPointF &globalPos,
382 qreal value,
const QPointF &delta, quint64 sequenceId = UINT64_MAX);
384 Qt::NativeGestureType gestureType()
const {
return m_gestureType; }
385 int fingerCount()
const {
return m_fingerCount; }
386 qreal value()
const {
return m_realValue; }
387 QPointF delta()
const {
388#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
389 return m_delta.toPointF();
395#if QT_DEPRECATED_SINCE(6
, 0
)
396#ifndef QT_NO_INTEGER_EVENT_COORDINATES
397 QT_DEPRECATED_VERSION_X_6_0(
"Use position().toPoint()")
398 inline const QPoint pos()
const {
return position().toPoint(); }
399 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition().toPoint()")
400 inline const QPoint globalPos()
const {
return globalPosition().toPoint(); }
402 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
403 QPointF localPos()
const {
return position(); }
404 QT_DEPRECATED_VERSION_X_6_0(
"Use scenePosition()")
405 QPointF windowPos()
const {
return scenePosition(); }
406 QT_DEPRECATED_VERSION_X_6_0(
"Use globalPosition()")
407 QPointF screenPos()
const {
return globalPosition(); }
411 quint64 m_sequenceId;
412#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
418 Qt::NativeGestureType m_gestureType;
419 quint32 m_fingerCount : 4;
420 quint32 m_reserved : 28;
426 Q_DECL_EVENT_COMMON(QKeyEvent)
428 QKeyEvent(Type type,
int key, Qt::KeyboardModifiers modifiers,
const QString& text = QString(),
429 bool autorep =
false, quint16 count = 1);
430 QKeyEvent(Type type,
int key, Qt::KeyboardModifiers modifiers,
431 quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers,
432 const QString &text = QString(),
bool autorep =
false, quint16 count = 1,
433 const QInputDevice *device = QInputDevice::primaryKeyboard());
435 int key()
const {
return m_key; }
436#if QT_CONFIG(shortcut)
437 bool matches(QKeySequence::StandardKey key)
const;
439 Qt::KeyboardModifiers modifiers()
const;
440 QKeyCombination keyCombination()
const
442 return QKeyCombination(modifiers(), Qt::Key(m_key));
444 inline QString text()
const {
return m_text; }
445 inline bool isAutoRepeat()
const {
return m_autoRepeat; }
446 inline int count()
const {
return int(m_count); }
448 inline quint32 nativeScanCode()
const {
return m_scanCode; }
449 inline quint32 nativeVirtualKey()
const {
return m_virtualKey; }
450 inline quint32 nativeModifiers()
const {
return m_nativeModifiers; }
452#if QT_CONFIG(shortcut)
453 friend inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key)
454 {
return (e ? e->matches(key) :
false); }
455 friend inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e)
456 {
return (e ? e->matches(key) :
false); }
463 quint32 m_virtualKey;
464 quint32 m_nativeModifiers;
465 quint16 m_count : 15;
466 quint16 m_autoRepeat : 1;
472 Q_DECL_EVENT_COMMON(QFocusEvent)
474 explicit QFocusEvent(Type type, Qt::FocusReason reason=Qt::OtherFocusReason);
476 inline bool gotFocus()
const {
return type() == FocusIn; }
477 inline bool lostFocus()
const {
return type() == FocusOut; }
479 Qt::FocusReason reason()
const;
482 Qt::FocusReason m_reason;
488 Q_DECL_EVENT_COMMON(QPaintEvent)
490 explicit QPaintEvent(
const QRegion& paintRegion);
491 explicit QPaintEvent(
const QRect &paintRect);
493 inline const QRect &rect()
const {
return m_rect; }
494 inline const QRegion ®ion()
const {
return m_region; }
504 Q_DECL_EVENT_COMMON(QMoveEvent)
506 QMoveEvent(
const QPoint &pos,
const QPoint &oldPos);
508 inline const QPoint &pos()
const {
return m_pos; }
509 inline const QPoint &oldPos()
const {
return m_oldPos;}
511 QPoint m_pos, m_oldPos;
512 friend class QApplication;
513 friend class QApplicationPrivate;
518 Q_DECL_EVENT_COMMON(QExposeEvent)
520 explicit QExposeEvent(
const QRegion &m_region);
522#if QT_DEPRECATED_SINCE(6
, 0
)
523 QT_DEPRECATED_VERSION_X_6_0(
"Handle QPaintEvent instead")
524 inline const QRegion ®ion()
const {
return m_region; }
529 friend class QWidgetWindow;
534 Q_DECL_EVENT_COMMON(QPlatformSurfaceEvent)
536 enum SurfaceEventType {
538 SurfaceAboutToBeDestroyed
541 explicit QPlatformSurfaceEvent(SurfaceEventType surfaceEventType);
543 inline SurfaceEventType surfaceEventType()
const {
return m_surfaceEventType; }
546 SurfaceEventType m_surfaceEventType;
551 Q_DECL_EVENT_COMMON(QResizeEvent)
553 QResizeEvent(
const QSize &size,
const QSize &oldSize);
555 inline const QSize &size()
const {
return m_size; }
556 inline const QSize &oldSize()
const {
return m_oldSize;}
558 QSize m_size, m_oldSize;
559 friend class QApplication;
560 friend class QApplicationPrivate;
566 Q_DECL_EVENT_COMMON(QCloseEvent)
574 Q_DECL_EVENT_COMMON(QIconDragEvent)
582 Q_DECL_EVENT_COMMON(QShowEvent)
590 Q_DECL_EVENT_COMMON(QHideEvent)
595#ifndef QT_NO_CONTEXTMENU
598 Q_DECL_EVENT_COMMON(QContextMenuEvent)
600 enum Reason { Mouse, Keyboard, Other };
602 QContextMenuEvent(Reason reason,
const QPoint &pos,
const QPoint &globalPos,
603 Qt::KeyboardModifiers modifiers = Qt::NoModifier);
604#if QT_DEPRECATED_SINCE(6
, 4
)
605 QT_DEPRECATED_VERSION_X_6_4(
"Use the other constructor")
606 QContextMenuEvent(Reason reason,
const QPoint &pos);
609 inline int x()
const {
return m_pos.x(); }
610 inline int y()
const {
return m_pos.y(); }
611 inline int globalX()
const {
return m_globalPos.x(); }
612 inline int globalY()
const {
return m_globalPos.y(); }
614 inline const QPoint& pos()
const {
return m_pos; }
615 inline const QPoint& globalPos()
const {
return m_globalPos; }
617 inline Reason reason()
const {
return Reason(m_reason); }
626#ifndef QT_NO_INPUTMETHOD
629 Q_DECL_EVENT_COMMON(QInputMethodEvent)
641 Attribute(AttributeType typ,
int s,
int l, QVariant val) : type(typ), start(s), length(l), value(std::move(val)) {}
642 Attribute(AttributeType typ,
int s,
int l) : type(typ), start(s), length(l), value() {}
650 QInputMethodEvent(
const QString &preeditText,
const QList<Attribute> &attributes);
652 void setCommitString(
const QString &commitString,
int replaceFrom = 0,
int replaceLength = 0);
653 inline const QList<Attribute> &attributes()
const {
return m_attributes; }
654 inline const QString &preeditString()
const {
return m_preedit; }
656 inline const QString &commitString()
const {
return m_commit; }
657 inline int replacementStart()
const {
return m_replacementStart; }
658 inline int replacementLength()
const {
return m_replacementLength; }
660 inline friend bool operator==(
const QInputMethodEvent::Attribute &lhs,
661 const QInputMethodEvent::Attribute &rhs)
663 return lhs.type == rhs.type && lhs.start == rhs.start
664 && lhs.length == rhs.length && lhs.value == rhs.value;
667 inline friend bool operator!=(
const QInputMethodEvent::Attribute &lhs,
668 const QInputMethodEvent::Attribute &rhs)
670 return !(lhs == rhs);
676 QList<Attribute> m_attributes;
677 int m_replacementStart;
678 int m_replacementLength;
680Q_DECLARE_TYPEINFO(QInputMethodEvent::Attribute, Q_RELOCATABLE_TYPE);
684 Q_DECL_EVENT_COMMON(QInputMethodQueryEvent)
686 explicit QInputMethodQueryEvent(Qt::InputMethodQueries queries);
688 Qt::InputMethodQueries queries()
const {
return m_queries; }
690 void setValue(Qt::InputMethodQuery query,
const QVariant &value);
691 QVariant value(Qt::InputMethodQuery query)
const;
693 Qt::InputMethodQueries m_queries;
695 Qt::InputMethodQuery query;
698 friend QTypeInfo<QueryPair>;
699 QList<QueryPair> m_values;
701Q_DECLARE_TYPEINFO(QInputMethodQueryEvent::QueryPair, Q_RELOCATABLE_TYPE);
705#if QT_CONFIG(draganddrop)
709class Q_GUI_EXPORT QDropEvent :
public QEvent
711 Q_DECL_EVENT_COMMON(QDropEvent)
713 QDropEvent(
const QPointF& pos, Qt::DropActions actions,
const QMimeData *data,
714 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop);
716#if QT_DEPRECATED_SINCE(6
, 0
)
717 QT_DEPRECATED_VERSION_X_6_0(
"Use position().toPoint()")
718 inline QPoint pos()
const {
return position().toPoint(); }
719 QT_DEPRECATED_VERSION_X_6_0(
"Use position()")
720 inline QPointF posF()
const {
return position(); }
721 QT_DEPRECATED_VERSION_X_6_0(
"Use buttons()")
722 inline Qt::MouseButtons mouseButtons()
const {
return buttons(); }
723 QT_DEPRECATED_VERSION_X_6_0(
"Use modifiers()")
724 inline Qt::KeyboardModifiers keyboardModifiers()
const {
return modifiers(); }
727 QPointF position()
const {
return m_pos; }
728 inline Qt::MouseButtons buttons()
const {
return m_mouseState; }
729 inline Qt::KeyboardModifiers modifiers()
const {
return m_modState; }
731 inline Qt::DropActions possibleActions()
const {
return m_actions; }
732 inline Qt::DropAction proposedAction()
const {
return m_defaultAction; }
733 inline void acceptProposedAction() { m_dropAction = m_defaultAction; accept(); }
735 inline Qt::DropAction dropAction()
const {
return m_dropAction; }
736 void setDropAction(Qt::DropAction action);
738 QObject* source()
const;
739 inline const QMimeData *mimeData()
const {
return m_data; }
742 friend class QApplication;
744 Qt::MouseButtons m_mouseState;
745 Qt::KeyboardModifiers m_modState;
746 Qt::DropActions m_actions;
747 Qt::DropAction m_dropAction;
748 Qt::DropAction m_defaultAction;
749 const QMimeData *m_data;
753class Q_GUI_EXPORT QDragMoveEvent :
public QDropEvent
755 Q_DECL_EVENT_COMMON(QDragMoveEvent)
757 QDragMoveEvent(
const QPoint &pos, Qt::DropActions actions,
const QMimeData *data,
758 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove);
760 inline QRect answerRect()
const {
return m_rect; }
762 inline void accept() { QDropEvent::accept(); }
763 inline void ignore() { QDropEvent::ignore(); }
765 inline void accept(
const QRect & r) { accept(); m_rect = r; }
766 inline void ignore(
const QRect & r) { ignore(); m_rect = r; }
773class Q_GUI_EXPORT QDragEnterEvent :
public QDragMoveEvent
775 Q_DECL_EVENT_COMMON(QDragEnterEvent)
777 QDragEnterEvent(
const QPoint &pos, Qt::DropActions actions,
const QMimeData *data,
778 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
782class Q_GUI_EXPORT QDragLeaveEvent :
public QEvent
784 Q_DECL_EVENT_COMMON(QDragLeaveEvent)
793 Q_DECL_EVENT_COMMON(QHelpEvent)
795 QHelpEvent(Type type,
const QPoint &pos,
const QPoint &globalPos);
797 inline int x()
const {
return m_pos.x(); }
798 inline int y()
const {
return m_pos.y(); }
799 inline int globalX()
const {
return m_globalPos.x(); }
800 inline int globalY()
const {
return m_globalPos.y(); }
802 inline const QPoint& pos()
const {
return m_pos; }
803 inline const QPoint& globalPos()
const {
return m_globalPos; }
810#ifndef QT_NO_STATUSTIP
813 Q_DECL_EVENT_COMMON(QStatusTipEvent)
815 explicit QStatusTipEvent(
const QString &tip);
817 inline QString tip()
const {
return m_tip; }
823#if QT_CONFIG(whatsthis)
824class Q_GUI_EXPORT QWhatsThisClickedEvent :
public QEvent
826 Q_DECL_EVENT_COMMON(QWhatsThisClickedEvent)
828 explicit QWhatsThisClickedEvent(
const QString &href);
830 inline QString href()
const {
return m_href; }
837class Q_GUI_EXPORT QActionEvent :
public QEvent
839 Q_DECL_EVENT_COMMON(QActionEvent)
841 QActionEvent(
int type, QAction *action, QAction *before =
nullptr);
843 inline QAction *action()
const {
return m_action; }
844 inline QAction *before()
const {
return m_before; }
853 Q_DECL_EVENT_COMMON(QFileOpenEvent)
855 explicit QFileOpenEvent(
const QString &file);
856 explicit QFileOpenEvent(
const QUrl &url);
858 inline QString file()
const {
return m_file; }
859 QUrl url()
const {
return m_url; }
860#if QT_DEPRECATED_SINCE(6
, 6
)
861 QT_DEPRECATED_VERSION_X_6_6(
"Interpret the string returned by file()")
862 bool openFile(QFile &file, QIODevice::OpenMode flags)
const;
872 Q_DECL_EVENT_COMMON(QToolBarChangeEvent)
874 explicit QToolBarChangeEvent(
bool t);
876 inline bool toggle()
const {
return m_toggle; }
882#if QT_CONFIG(shortcut)
883class Q_GUI_EXPORT QShortcutEvent :
public QEvent
885 Q_DECL_EVENT_COMMON(QShortcutEvent)
888 QShortcutEvent(
const QKeySequence &key,
int id,
bool ambiguous =
false);
889 QShortcutEvent(
const QKeySequence &key,
const QShortcut *shortcut =
nullptr,
bool ambiguous =
false);
891 inline const QKeySequence &key()
const {
return m_sequence; }
893 inline int shortcutId()
const {
return m_shortcutId; }
894 inline bool isAmbiguous()
const {
return m_ambiguous; }
896 QKeySequence m_sequence;
904 Q_DECL_EVENT_COMMON(QWindowStateChangeEvent)
906 explicit QWindowStateChangeEvent(Qt::WindowStates oldState,
bool isOverride =
false);
908 inline Qt::WindowStates oldState()
const {
return m_oldStates; }
909 bool isOverride()
const;
912 Qt::WindowStates m_oldStates;
916#ifndef QT_NO_DEBUG_STREAM
918Q_GUI_EXPORT
QDebug operator<<(QDebug,
const QEvent *);
923 Q_DECL_EVENT_COMMON(QTouchEvent)
925 using TouchPoint = QEventPoint;
927 explicit QTouchEvent(QEvent::Type eventType,
928 const QPointingDevice *device =
nullptr,
929 Qt::KeyboardModifiers modifiers = Qt::NoModifier,
930 const QList<QEventPoint> &touchPoints = {});
931#if QT_DEPRECATED_SINCE(6
, 0
)
932 QT_DEPRECATED_VERSION_X_6_0(
"Use another constructor")
933 explicit QTouchEvent(QEvent::Type eventType,
934 const QPointingDevice *device,
935 Qt::KeyboardModifiers modifiers,
936 QEventPoint::States touchPointStates,
937 const QList<QEventPoint> &touchPoints = {});
940 inline QObject *target()
const {
return m_target; }
941 inline QEventPoint::States touchPointStates()
const {
return m_touchPointStates; }
942#if QT_DEPRECATED_SINCE(6
, 0
)
943 QT_DEPRECATED_VERSION_X_6_0(
"Use points()")
944 const QList<QEventPoint> &touchPoints()
const {
return points(); }
946 bool isBeginEvent()
const override;
947 bool isUpdateEvent()
const override;
948 bool isEndEvent()
const override;
951 friend class QMutableTouchEvent;
952 QObject *m_target =
nullptr;
953 QEventPoint::States m_touchPointStates = QEventPoint::State::Unknown;
954 quint32 m_reserved : 24;
959 Q_DECL_EVENT_COMMON(QScrollPrepareEvent)
961 explicit QScrollPrepareEvent(
const QPointF &startPos);
963 QPointF startPos()
const {
return m_startPos; }
965 QSizeF viewportSize()
const {
return m_viewportSize; }
966 QRectF contentPosRange()
const {
return m_contentPosRange; }
967 QPointF contentPos()
const {
return m_contentPos; }
969 void setViewportSize(
const QSizeF &size);
970 void setContentPosRange(
const QRectF &rect);
971 void setContentPos(
const QPointF &pos);
974 QRectF m_contentPosRange;
975 QSizeF m_viewportSize;
977 QPointF m_contentPos;
983 Q_DECL_EVENT_COMMON(QScrollEvent)
992 QScrollEvent(
const QPointF &contentPos,
const QPointF &overshoot, ScrollState scrollState);
994 QPointF contentPos()
const {
return m_contentPos; }
995 QPointF overshootDistance()
const {
return m_overshoot; }
996 ScrollState scrollState()
const {
return m_state; }
999 QPointF m_contentPos;
1000 QPointF m_overshoot;
1001 QScrollEvent::ScrollState m_state;
1006 Q_DECL_EVENT_COMMON(QScreenOrientationChangeEvent)
1008 QScreenOrientationChangeEvent(QScreen *screen, Qt::ScreenOrientation orientation);
1010 QScreen *screen()
const {
return m_screen; }
1011 Qt::ScreenOrientation orientation()
const {
return m_orientation; }
1015 Qt::ScreenOrientation m_orientation;
1020 Q_DECL_EVENT_COMMON(QApplicationStateChangeEvent)
1022 explicit QApplicationStateChangeEvent(Qt::ApplicationState state);
1024 Qt::ApplicationState applicationState()
const {
return m_applicationState; }
1027 Qt::ApplicationState m_applicationState;
1032 Q_DECL_EVENT_COMMON(QChildWindowEvent)
1034 explicit QChildWindowEvent(Type type, QWindow *childWindow);
1035 QWindow *child()
const {
return c; }
The QCloseEvent class contains parameters that describe a close event.
The QExposeEvent class contains event parameters for expose events. \inmodule QtGui.
The QFileOpenEvent class provides an event that will be sent when there is a request to open a file o...
The QFocusEvent class contains event parameters for widget focus events.
The QHelpEvent class provides an event that is used to request helpful information about a particular...
The QHideEvent class provides an event which is sent after a widget is hidden.
QList< QIBusAttribute > attributes
QList< QInputMethodEvent::Attribute > imAttributes() const
void deserializeFrom(const QDBusArgument &argument)
void serializeTo(QDBusArgument &argument) const
QTextCharFormat format() const
void deserializeFrom(const QDBusArgument &argument)
void serializeTo(QDBusArgument &argument) const
void serializeTo(QDBusArgument &argument) const
void deserializeFrom(const QDBusArgument &argument)
QIBusFilterEventWatcher(const QDBusPendingCall &call, QObject *parent=nullptr, QWindow *window=nullptr, const Qt::KeyboardModifiers modifiers={ }, const QVariantList arguments=QVariantList())
const QVariantList arguments() const
const Qt::KeyboardModifiers modifiers() const
~QIBusFilterEventWatcher()
void invokeAction(QInputMethod::Action a, int x) override
Called when the word currently being composed in the input item is tapped by the user.
void busUnregistered(const QString &str)
bool filterEvent(const QEvent *event) override
This function can be reimplemented to filter input events.
void globalEngineChanged(const QString &engine_name)
void filterEventFinished(QDBusPendingCallWatcher *call)
void update(Qt::InputMethodQueries) override
Notification on editor updates.
bool hasCapability(Capability capability) const override
Returns whether the implementation supports capability.
void socketChanged(const QString &str)
QLocale locale() const override
bool isValid() const override
Returns input context validity.
void forwardKeyEvent(uint keyval, uint keycode, uint state)
void setFocusObject(QObject *object) override
This virtual method gets called to notify updated focus to object.
void updatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible)
~QIBusPlatformInputContext()
void surroundingTextRequired()
void updatePreeditTextWithMode(const QDBusVariant &text, uint cursor_pos, bool visible, uint mode)
void reset() override
Method to be called when input method needs to be reset.
void busRegistered(const QString &str)
void deleteSurroundingText(int offset, uint n_chars)
QIBusPropTypeClientCommitPreedit()
QIBusPropTypeClientCommitPreedit(bool inClientCommitPreedit)
void deserializeFrom(const QDBusArgument &argument)
void serializeTo(QDBusArgument &argument) const
QIBusPropTypeContentType()
void serializeTo(QDBusArgument &argument) const
QIBusPropTypeContentType(unsigned int inPurpose, unsigned int inHint)
void deserializeFrom(const QDBusArgument &argument)
void deserializeFrom(const QDBusArgument &argument)
QIBusAttributeList attributes
void serializeTo(QDBusArgument &argument) const
The QIconDragEvent class indicates that a main icon drag has begun.
The QKeyEvent class describes a key event.
The QMoveEvent class contains event parameters for move events.
The QPaintEvent class contains event parameters for paint events.
A base class for pointer events.
The QResizeEvent class contains event parameters for resize events.
The QShowEvent class provides an event that is sent when a widget is shown.
A base class for pointer events containing a single point, such as mouse events.
The QStatusTipEvent class provides an event that is used to show messages in a status bar.
The QTouchEvent class contains parameters that describe a touch event.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Q_DECLARE_TYPEINFO(QIBusText, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusPropTypeClientCommitPreedit &data)
Q_DECLARE_TYPEINFO(QIBusAttributeList, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusPropTypeContentType &data)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusEngineDesc &desc)
Q_DECLARE_TYPEINFO(QIBusPropTypeClientCommitPreedit, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusAttributeList &attributeList)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusText &text)
Q_DECLARE_TYPEINFO(QIBusAttribute, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QIBusEngineDesc, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QIBusPropTypeContentType, Q_RELOCATABLE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusPropTypeClientCommitPreedit &data)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusText &text)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusPropTypeContentType &data)
QDBusArgument & operator<<(QDBusArgument &argument, const QIBusAttribute &attribute)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusAttribute &attribute)
const QDBusArgument & operator>>(const QDBusArgument &argument, QIBusAttributeList &attributeList)