diff options
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/data/weathermoduleurl.h')
-rw-r--r-- | tests/auto/qml/qmlcppcodegen/data/weathermoduleurl.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/data/weathermoduleurl.h b/tests/auto/qml/qmlcppcodegen/data/weathermoduleurl.h new file mode 100644 index 0000000000..998118dc5b --- /dev/null +++ b/tests/auto/qml/qmlcppcodegen/data/weathermoduleurl.h @@ -0,0 +1,61 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef WEATHERMODELURL_H +#define WEATHERMODELURL_H + +#include <QtQml/qqmlregistration.h> +#include <QtCore/qobject.h> + +class WeatherModelUrl +{ + Q_GADGET + QML_STRUCTURED_VALUE + QML_VALUE_TYPE(weatherModelUrl) + Q_PROPERTY(qsizetype timeIndex READ timeIndex CONSTANT) + Q_PROPERTY(QStringList strings READ strings WRITE setStrings) + +public: + WeatherModelUrl() : m_timeIndex(-1) {} + WeatherModelUrl(qsizetype timeIdx) : m_timeIndex(timeIdx) {} + + qsizetype timeIndex() const { return m_timeIndex; } + + QStringList strings() const { return m_strings; } + void setStrings(const QStringList &newStrings) + { + if (m_strings != newStrings) + m_strings = newStrings; + } + +private: + friend bool operator==(const WeatherModelUrl &a, const WeatherModelUrl &b) + { + return a.m_timeIndex == b.m_timeIndex; + } + + friend bool operator!=(const WeatherModelUrl &a, const WeatherModelUrl &b) + { + return !(a == b); + } + + qsizetype m_timeIndex; + QStringList m_strings; +}; + +class WeatherModelUrlUtils : public QObject +{ + Q_OBJECT + QML_ELEMENT + QML_SINGLETON + +public: + WeatherModelUrlUtils(QObject *parent = nullptr) : QObject(parent) {} + + Q_INVOKABLE static WeatherModelUrl url(int timeIdx) + { + return WeatherModelUrl(timeIdx); + } +}; + +#endif // WEATHERMODELURL_H |