bool TestService::mouseClick(QObject* _item, qreal _x, qreal _y, int _button, int _modifiers, int _delay)
{
    QWindow* window = qobject_cast<QWindow*>(_item);
    if (!window)
        window = eventWindow(_item);
    mouseEvent(MouseClick, window, _item, Qt::MouseButton(_button), Qt::KeyboardModifiers(_modifiers), QPointF(_x, _y), _delay);
    return true;
}
Esempio n. 2
0
bool QuickTestEvent::mouseMove
    (QObject *item, qreal x, qreal y, int delay, int buttons)
{
    QWindow *view = eventWindow(item);
    if (!view)
        return false;
    QtQuickTest::mouseEvent(QtQuickTest::MouseMove, view, item,
                            Qt::MouseButton(buttons), Qt::NoModifier,
                            QPointF(x, y), delay);
    return true;
}
Esempio n. 3
0
bool QuickTestEvent::mouseWheel(
    QObject *item, qreal x, qreal y, int buttons,
    int modifiers, int xDelta, int yDelta, int delay)
{
    QWindow *view = eventWindow(item);
    if (!view)
        return false;
    QtQuickTest::mouseWheel(view, item, Qt::MouseButtons(buttons),
                            Qt::KeyboardModifiers(modifiers),
                            QPointF(x, y), xDelta, yDelta, delay);
    return true;
}
Esempio n. 4
0
bool QuickTestEvent::mouseDoubleClickSequence
    (QObject *item, qreal x, qreal y, int button,
     int modifiers, int delay)
{
    QWindow *view = eventWindow(item);
    if (!view)
        return false;
    QtQuickTest::mouseEvent(QtQuickTest::MouseDoubleClickSequence, view, item,
                            Qt::MouseButton(button),
                            Qt::KeyboardModifiers(modifiers),
                            QPointF(x, y), delay);
    return true;
}
QWindow* TestService::eventWindow(QObject* _item)
{
    QQuickItem* item = qobject_cast<QQuickItem*>(_item);
    if (item && item->window())
        return item->window();

    QWindow* window = qobject_cast<QQuickWindow*>(_item);
    if (!window && _item->parent())
        window = eventWindow(_item->parent());
    if (!window)
        window = qobject_cast<QQuickWindow*>(m_targetWindow);
    if (window)
    {
        window->requestActivate();
        std::cout << window->title().toStdString();
        return window;
    }
    item = qobject_cast<QQuickItem*>(m_targetWindow);
    if (item)
        return item->window();
    return 0;
}
Esempio n. 6
0
QWindow *QuickTestEvent::activeWindow()
{
    if (QWindow *window = QGuiApplication::focusWindow())
        return window;
    return eventWindow();
}
bool TestService::keyClickChar(QObject* _item, QString const& _character, int _modifiers, int _delay)
{
    QWindow* window = eventWindow(_item);
    QTest::keyClick(window, _character[0].toLatin1(), Qt::KeyboardModifiers(_modifiers), _delay);
    return true;
}
bool TestService::keyClick(QObject* _item, int _key, int _modifiers, int _delay)
{
    QWindow* window = eventWindow(_item);
    QTest::keyClick(window, Qt::Key(_key), Qt::KeyboardModifiers(_modifiers), _delay);
    return true;
}
bool TestService::waitForRendering(QObject* _item, int timeout)
{
    QWindow* window = eventWindow(_item);
    return waitForSignal(window, "frameSwapped()", timeout);
}