Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtestsupport_gui.h
Go to the documentation of this file.
1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QTESTSUPPORT_GUI_H
5#define QTESTSUPPORT_GUI_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtGui/qevent.h>
9#include <QtCore/qmap.h>
10
12
13class QWindow;
14
15Q_GUI_EXPORT void qt_handleTouchEvent(QWindow *w, const QPointingDevice *device,
16 const QList<QEventPoint> &points,
17 Qt::KeyboardModifiers mods = Qt::NoModifier);
18
19Q_GUI_EXPORT bool qt_handleTouchEventv2(QWindow *w, const QPointingDevice *device,
20 const QList<QEventPoint> &points,
21 Qt::KeyboardModifiers mods = Qt::NoModifier);
22
23namespace QTest {
24
25[[nodiscard]] Q_GUI_EXPORT bool qWaitForWindowActive(QWindow *window, int timeout = 5000);
26[[nodiscard]] Q_GUI_EXPORT bool qWaitForWindowFocused(QWindow *widget, QDeadlineTimer timeout = std::chrono::seconds{5});
27[[nodiscard]] Q_GUI_EXPORT bool qWaitForWindowExposed(QWindow *window, int timeout = 5000);
28
30 QInputDevice::Capabilities caps = QInputDevice::Capability::Position);
31
32class Q_GUI_EXPORT QTouchEventSequence
33{
34public:
35 virtual ~QTouchEventSequence();
36 QTouchEventSequence& press(int touchId, const QPoint &pt, QWindow *window = nullptr);
37 QTouchEventSequence& move(int touchId, const QPoint &pt, QWindow *window = nullptr);
38 QTouchEventSequence& release(int touchId, const QPoint &pt, QWindow *window = nullptr);
39 virtual QTouchEventSequence& stationary(int touchId);
40
41 virtual bool commit(bool processEvents = true);
42
43protected:
44 QTouchEventSequence(QWindow *window, QPointingDevice *aDevice, bool autoCommit);
45
46 QPoint mapToScreen(QWindow *window, const QPoint &pt);
47
48 QEventPoint &point(int touchId);
49
50 QEventPoint &pointOrPreviousPoint(int touchId);
51
52 QMap<int, QEventPoint> previousPoints;
53 QMap<int, QEventPoint> points;
58};
59
60} // namespace QTest
61
63
64#endif
IOBluetoothDevice * device
\inmodule QtCore
The QEventPoint class provides information about a point in a QPointerEvent.
Definition qeventpoint.h:20
DeviceType
This enum represents the type of device that generated a QPointerEvent.
\inmodule QtCore\reentrant
Definition qpoint.h:25
The QPointingDevice class describes a device from which mouse, touch or tablet events originate.
QMap< int, QEventPoint > previousPoints
QMap< int, QEventPoint > points
\inmodule QtGui
Definition qwindow.h:63
QOpenGLWidget * widget
[1]
Combined button and popup list for selecting options.
Q_GUI_EXPORT QPointingDevice * createTouchDevice(QInputDevice::DeviceType devType=QInputDevice::DeviceType::TouchScreen, QInputDevice::Capabilities caps=QInputDevice::Capability::Position)
Q_GUI_EXPORT bool qWaitForWindowActive(QWindow *window, int timeout=5000)
Q_GUI_EXPORT bool qWaitForWindowExposed(QWindow *window, int timeout=5000)
Q_GUI_EXPORT bool qWaitForWindowFocused(QWindow *widget, QDeadlineTimer timeout=std::chrono::seconds{5})
QTouchEventSequence touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit=true)
Definition qtesttouch.h:42
@ NoModifier
GLfloat GLfloat GLfloat w
[0]
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLboolean commit
GLbitfield GLuint64 timeout
[4]
GLfixed GLfixed GLint GLint GLfixed points
Q_GUI_EXPORT bool qt_handleTouchEventv2(QWindow *w, const QPointingDevice *device, const QList< QEventPoint > &points, Qt::KeyboardModifiers mods=Qt::NoModifier)
Q_GUI_EXPORT void qt_handleTouchEvent(QWindow *w, const QPointingDevice *device, const QList< QEventPoint > &points, Qt::KeyboardModifiers mods=Qt::NoModifier)
sem release()
aWidget window() -> setWindowTitle("New Window Title")
[2]