Testbed
// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef CUSTOMLINESERIES_H #define CUSTOMLINESERIES_H #include <QList> #include <QQmlEngine> #include <QTimer> #include <QtGraphs/qlineseries.h> class CustomLineSeries : public QLineSeries { Q_OBJECT Q_PROPERTY(qreal amplitude READ amplitude WRITE setAmplitude NOTIFY amplitudeChanged) Q_PROPERTY(qreal frequency READ frequency WRITE setFrequency NOTIFY frequencyChanged) Q_PROPERTY(qreal phase READ phase WRITE setPhase NOTIFY phaseChanged) QML_ELEMENT public: CustomLineSeries(QLineSeries *parent = nullptr); qreal frequency() const; void setFrequency(qreal newFrequency); qreal amplitude() const; void setAmplitude(qreal newAmplitude); qreal phase() const; void setPhase(qreal newPhase); public Q_SLOTS: void updateData(); signals: void frequencyChanged(); void amplitudeChanged(); void phaseChanged(); private: QTimer m_updateTimer; qreal m_frequency = 0.0; qreal m_amplitude = 1.0; qreal m_phase = 0.0; int m_scanIndex = 0; int m_scanCount = 5; }; #endif // CUSTOMLINESERIES_H