34 Q_PROPERTY(qreal mouseX READ mouseX NOTIFY mouseXChanged)
35 Q_PROPERTY(qreal mouseY READ mouseY NOTIFY mouseYChanged)
36 Q_PROPERTY(
bool containsMouse READ hovered NOTIFY hoveredChanged)
37 Q_PROPERTY(
bool pressed READ isPressed NOTIFY pressedChanged)
38 Q_PROPERTY(
bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
39 Q_PROPERTY(
bool scrollGestureEnabled READ isScrollGestureEnabled WRITE setScrollGestureEnabled NOTIFY scrollGestureEnabledChanged REVISION(2, 5))
40 Q_PROPERTY(Qt::MouseButtons pressedButtons READ pressedButtons NOTIFY pressedButtonsChanged)
41 Q_PROPERTY(Qt::MouseButtons acceptedButtons READ acceptedButtons WRITE setAcceptedButtons NOTIFY acceptedButtonsChanged)
42 Q_PROPERTY(
bool hoverEnabled READ hoverEnabled WRITE setHoverEnabled NOTIFY hoverEnabledChanged)
43#if QT_CONFIG(quick_draganddrop)
44 Q_PROPERTY(QQuickDrag *drag READ drag CONSTANT)
46 Q_PROPERTY(
bool preventStealing READ preventStealing WRITE setPreventStealing NOTIFY preventStealingChanged)
47 Q_PROPERTY(
bool propagateComposedEvents READ propagateComposedEvents WRITE setPropagateComposedEvents NOTIFY propagateComposedEventsChanged)
49 Q_PROPERTY(Qt::CursorShape cursorShape READ cursorShape WRITE setCursorShape RESET unsetCursor NOTIFY cursorShapeChanged)
51 Q_PROPERTY(
bool containsPress READ containsPress NOTIFY containsPressChanged REVISION(2, 4))
52 Q_PROPERTY(
int pressAndHoldInterval READ pressAndHoldInterval WRITE setPressAndHoldInterval NOTIFY pressAndHoldIntervalChanged RESET resetPressAndHoldInterval REVISION(2, 9))
53 QML_NAMED_ELEMENT(MouseArea)
54 QML_ADDED_IN_VERSION(2, 0)
57 QQuickMouseArea(QQuickItem *parent=
nullptr);
63 bool isEnabled()
const;
64 void setEnabled(
bool);
66 bool isScrollGestureEnabled()
const;
67 void setScrollGestureEnabled(
bool);
70 bool isPressed()
const;
71 bool containsPress()
const;
73 Qt::MouseButtons pressedButtons()
const;
75 Qt::MouseButtons acceptedButtons()
const;
76 void setAcceptedButtons(Qt::MouseButtons buttons);
78 bool hoverEnabled()
const;
79 void setHoverEnabled(
bool h);
81#if QT_CONFIG(quick_draganddrop)
85 bool preventStealing()
const;
86 void setPreventStealing(
bool prevent);
88 bool propagateComposedEvents()
const;
89 void setPropagateComposedEvents(
bool propagate);
92 Qt::CursorShape cursorShape()
const;
93 void setCursorShape(Qt::CursorShape shape);
96 int pressAndHoldInterval()
const;
97 void setPressAndHoldInterval(
int interval);
98 void resetPressAndHoldInterval();
101 void hoveredChanged();
102 void pressedChanged();
103 void enabledChanged();
104 Q_REVISION(2, 5)
void scrollGestureEnabledChanged();
105 void pressedButtonsChanged();
106 void acceptedButtonsChanged();
107 void hoverEnabledChanged();
109 void cursorShapeChanged();
111 void positionChanged(QQuickMouseEvent *mouse);
112 void mouseXChanged(QQuickMouseEvent *mouse);
113 void mouseYChanged(QQuickMouseEvent *mouse);
114 void preventStealingChanged();
115 void propagateComposedEventsChanged();
117 void pressed(QQuickMouseEvent *mouse);
118 void pressAndHold(QQuickMouseEvent *mouse);
119 void released(QQuickMouseEvent *mouse);
120 void clicked(QQuickMouseEvent *mouse);
121 void doubleClicked(QQuickMouseEvent *mouse);
122#if QT_CONFIG(wheelevent)
123 void wheel(QQuickWheelEvent *wheel);
128 Q_REVISION(2, 4)
void containsPressChanged();
129 Q_REVISION(2, 9)
void pressAndHoldIntervalChanged();
132 void setHovered(
bool);
133 bool setPressed(Qt::MouseButton button,
bool p, Qt::MouseEventSource source);
134 bool sendMouseEvent(QMouseEvent *event);
136 void mousePressEvent(QMouseEvent *event) override;
137 void mouseReleaseEvent(QMouseEvent *event) override;
138 void mouseDoubleClickEvent(QMouseEvent *event) override;
139 void mouseMoveEvent(QMouseEvent *event) override;
140 void mouseUngrabEvent() override;
141 void touchUngrabEvent() override;
142 void hoverEnterEvent(QHoverEvent *event) override;
143 void hoverMoveEvent(QHoverEvent *event) override;
144 void hoverLeaveEvent(QHoverEvent *event) override;
145#if QT_CONFIG(wheelevent)
146 void wheelEvent(QWheelEvent *event) override;
148 bool childMouseEventFilter(QQuickItem *i, QEvent *e) override;
149 void timerEvent(QTimerEvent *event) override;
151 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
152 void itemChange(ItemChange change,
const ItemChangeData& value) override;
153 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
157 void handleRelease();
161 Q_DISABLE_COPY(QQuickMouseArea)
162 Q_DECLARE_PRIVATE(QQuickMouseArea)