#ifndef QSPLINESERIES_H #define QSPLINESERIES_H #include "qchartglobal.h" #include <QtGlobal> #include "qlineseries.h" #include <QList> #include <QPointF> QTCOMMERCIALCHART_BEGIN_NAMESPACE class QTCOMMERCIALCHART_EXPORT QSplineSeries : public QLineSeries { Q_OBJECT public: QSplineSeries(QObject *parent = 0); QSeriesType type() const {return QSeries::SeriesTypeSpline;} // int count() const { return m_x.size(); } QPointF controlPoint(int index) const {return m_controlPoints[index];} bool setModel(QAbstractItemModel* model); void setModelMapping(int modelX, int modelY, Qt::Orientation orientation = Qt::Vertical); // TODO: allow the user to set custom control points // void setCustomControlPoints(QList<QPointsF> controlPoints); // bool calculateControlPointsAutomatically(); // void setCalculateControlPointsAutomatically(); private: void calculateControlPoints(); QList<qreal> getFirstControlPoints(QList<qreal> rhs); private slots: void updateControlPoints(); private: QList<QPointF> m_controlPoints; }; QTCOMMERCIALCHART_END_NAMESPACE #endif // QSPLINESERIES_H