120 QObject *item, Qt::MouseButton button,
121 Qt::KeyboardModifiers stateKey,
const QPointF &_pos,
int delay=-1)
123 QTEST_ASSERT(window);
126 if (delay == -1 || delay < QTest::defaultMouseDelay())
127 delay = QTest::defaultMouseDelay();
134 mouseEvent(
MousePress, window, item, button, stateKey, _pos);
135 mouseEvent(
MouseRelease, window, item, button, stateKey, _pos);
140 mouseEvent(
MousePress, window, item, button, stateKey, _pos);
141 mouseEvent(
MouseRelease, window, item, button, stateKey, _pos);
142 mouseEvent(
MousePress, window, item, button, stateKey, _pos);
144 mouseEvent(
MouseRelease, window, item, button, stateKey, _pos);
148 QPoint pos = _pos.toPoint();
149 QQuickItem *sgitem = qobject_cast<QQuickItem *>(item);
151 pos = sgitem->mapToScene(_pos).toPoint();
152 QTEST_ASSERT(button == Qt::NoButton || button & Qt::MouseButtonMask);
153 QTEST_ASSERT(stateKey == 0 || stateKey & Qt::KeyboardModifierMask);
155 stateKey &=
static_cast<
unsigned int>(Qt::KeyboardModifierMask);
158 Qt::MouseButton meButton;
159 Qt::MouseButtons meButtons;
163 meType = QEvent::MouseButtonPress;
168 meType = QEvent::MouseButtonRelease;
170 meButtons = Qt::MouseButton();
172 case MouseDoubleClick:
173 meType = QEvent::MouseButtonDblClick;
178 meType = QEvent::MouseMove;
179 meButton = Qt::NoButton;
185 QMouseEvent me(meType, pos, window->mapToGlobal(pos), meButton, meButtons, stateKey);
190 QSpontaneKeyEvent::setSpontaneous(&me);
191 if (!qApp->notify(window, &me)) {
192 static const char *mouseActionNames[] =
193 {
"MousePress",
"MouseRelease",
"MouseClick",
"MouseDoubleClick",
"MouseMove",
194 "MouseDoubleClickSequence" };
195 qWarning(
"Mouse event \"%s\" not accepted by receiving window",
196 mouseActionNames[
static_cast<
int>(action)]);