4#ifndef CONTROLSTESTUTILS_P_H
5#define CONTROLSTESTUTILS_P_H
18#include <QtTest/qtest.h>
19#include <QtGui/qpa/qplatformtheme.h>
20#include <QtQuickTestUtils/private/visualtestutils_p.h>
26class QQuickApplicationWindow;
27class QQuickAbstractButton;
38 const QVariantMap &initialProperties = {},
39 const QStringList &qmlImportPaths = {});
46 [[nodiscard]]
bool updateStyle(
const QString &style);
55 void forEachControl(QQmlEngine *engine,
const QString &qqc2ImportPath,
const QString &styleName,
56 const QString &targetPath,
const QStringList &skipList,
ForEachCallback callback);
58 const QString &targetPath,
const QStringList &skipList = QStringList());
80 Q_PROPERTY(QString styleName READ styleName CONSTANT FINAL)
107 StyleInfo() =
default;
109 void warnIfNotInitialized()
const;
111 QList<QmlFileData> m_sourceQmlFiles;
112 QList<QmlFileData> m_installedQmlFiles;
119 return m_colorScheme;
123 m_colorScheme = theme;
124 QWindowSystemInterface::handleThemeChange<QWindowSystemInterface::SynchronousDelivery>();
150 Q_INVOKABLE void set(Qt::ApplicationAttribute attribute,
bool on =
true);
177#define VERIFY_VISUAL_FOCUS(control) do
179 QVERIFY2(control->hasVisualFocus(), qUtf8Printable(visualFocusFailureMessage(control))); \
180}while (false)
182#define TRY_VERIFY_POPUP_OPENED(popup) do
184 QTRY_VERIFY(popup->isOpened());
185 if (auto *popupWindow = QQuickPopupPrivate::get(popup)->popupWindow) {
186 QVERIFY(QTest::qWaitForWindowExposed(popupWindow));
187 if (QQuickTest::qIsPolishScheduled(popupWindow))
188 QQuickTest::qWaitForPolish(popupWindow);
190}while (false)
The QQmlComponent class encapsulates a QML component definition.
Q_INVOKABLE void set(Qt::ApplicationAttribute attribute, bool on=true)
QQuickControlsApplicationHelper(QQmlDataTest *testCase, const QString &testFilePath, const QVariantMap &initialProperties={}, const QStringList &qmlImportPaths={})
QQuickApplicationWindow * appWindow
QList< QmlFileData > installedQmlFiles() const
static StyleInfo * instance()
QList< QmlFileData > sourceQmlFiles() const
static StyleInfo * create(QQmlEngine *, QJSEngine *)
QString styleName() const
Q_INVOKABLE bool setValue(const QString &name, const QString &value)
bool verifyButtonClickable(QQuickAbstractButton *button)
void forEachControl(QQmlEngine *engine, const QString &qqc2ImportPath, const QString &styleName, const QString &targetPath, const QStringList &skipList, ForEachCallback callback)
void addTestRowForEachControl(QQmlEngine *engine, const QString &qqc2ImportPath, const QString &styleName, const QString &targetPath, const QStringList &skipList=QStringList())
bool clickMenuItem(QQuickMenuItem *menuItem)
std::function< void(const QString &, const QString &, const QString &, const QUrl &)> ForEachCallback
bool doubleClickButton(QQuickAbstractButton *button)
QQuickPopup * popupParent(QQuickItem *item)
QString visualFocusFailureMessage(QQuickControl *control)
bool arePopupWindowsSupported()
bool clickButton(QQuickAbstractButton *button)
QByteArray qActiveFocusFailureMessage(QQuickPopup *popup)
QScopedPointer< QQmlEngine > engine
bool updateStyle(const QString &style)
bool operator<(const QmlFileData &rhs) const