diff options
author | Michal Klocek <michal.klocek@digia.com> | 2012-07-04 16:00:09 +0300 |
---|---|---|
committer | Michal Klocek <michal.klocek@digia.com> | 2012-07-04 16:00:42 +0300 |
commit | 8b084e770b030f2570db75bd4bc0597f4d9abc04 (patch) | |
tree | cfd76a1f9bc28ddd774fd1a9216f7dab195cf8a2 | |
parent | 35c35dbacb1e89643ad686291181f8833510d336 (diff) |
Adds plotArea()
* fixes dynamic spline example
-rw-r--r-- | demos/dynamicspline/chart.cpp | 21 | ||||
-rw-r--r-- | demos/dynamicspline/chart.h | 2 | ||||
-rw-r--r-- | src/chartpresenter.cpp | 2 | ||||
-rw-r--r-- | src/qchart.cpp | 5 | ||||
-rw-r--r-- | src/qchart.h | 1 |
5 files changed, 22 insertions, 9 deletions
diff --git a/demos/dynamicspline/chart.cpp b/demos/dynamicspline/chart.cpp index a12ce1f4..d3e52f4e 100644 --- a/demos/dynamicspline/chart.cpp +++ b/demos/dynamicspline/chart.cpp @@ -21,12 +21,15 @@ #include "chart.h" #include <QAbstractAxis> #include <QSplineSeries> +#include <QValuesAxis> #include <QTime> +#include <QDebug> Chart::Chart(QGraphicsItem *parent, Qt::WindowFlags wFlags) :QChart(parent, wFlags), - m_step(1), - m_x(0), + m_step(0), + m_axis(new QValuesAxis), + m_x(5), m_y(1) { qsrand((uint) QTime::currentTime().msec()); @@ -42,10 +45,10 @@ Chart::Chart(QGraphicsItem *parent, Qt::WindowFlags wFlags) addSeries(m_series); createDefaultAxes(); - - axisY()->setRange(-5, 5); - axisX()->setRange(-9, 1); - //TODO:axisX()->setTicksCount(11); + setAxisX(m_axis,m_series); + m_axis->setTicksCount(5); + axisX()->setRange(0, 10); + axisY()->setRange(-5, 10); m_timer.start(); } @@ -57,9 +60,11 @@ Chart::~Chart() void Chart::handleTimeout() { - m_x += m_step; + qreal x = plotArea().width()/m_axis->ticksCount(); + qreal y =(m_axis->max() - m_axis->min())/m_axis->ticksCount(); + m_x += y; m_y = qrand() % 5 - 2.5; m_series->append(m_x, m_y); - scroll(10,0); + scroll(x,0); if(m_x==100) m_timer.stop(); } diff --git a/demos/dynamicspline/chart.h b/demos/dynamicspline/chart.h index 7611dfab..965c261f 100644 --- a/demos/dynamicspline/chart.h +++ b/demos/dynamicspline/chart.h @@ -26,6 +26,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE class QSplineSeries; +class QValuesAxis; QTCOMMERCIALCHART_END_NAMESPACE QTCOMMERCIALCHART_USE_NAMESPACE @@ -45,6 +46,7 @@ private: QTimer m_timer; QSplineSeries* m_series; QStringList m_titles; + QValuesAxis* m_axis; qreal m_step; qreal m_x; qreal m_y; diff --git a/src/chartpresenter.cpp b/src/chartpresenter.cpp index 7546087d..97b76f86 100644 --- a/src/chartpresenter.cpp +++ b/src/chartpresenter.cpp @@ -451,7 +451,7 @@ void ChartPresenter::setMarginsMinimum(const QRectF& margins) QRectF ChartPresenter::margins() const { - return QRectF();//m_layout->margins(); + return m_layout->margins(); } QLegend* ChartPresenter::legend() diff --git a/src/qchart.cpp b/src/qchart.cpp index af9b1769..563db002 100644 --- a/src/qchart.cpp +++ b/src/qchart.cpp @@ -379,6 +379,11 @@ QRectF QChart::margins() const return d_ptr->m_presenter->margins(); } +QRectF QChart::plotArea() const +{ + return d_ptr->m_presenter->geometry(); +} + /*! Sets animation \a options for the chart */ diff --git a/src/qchart.h b/src/qchart.h index 0b89a235..62e936df 100644 --- a/src/qchart.h +++ b/src/qchart.h @@ -117,6 +117,7 @@ public: void setMarginsMinimum(const QRectF& margins); QRectF margins() const; + QRectF plotArea() const; Q_SIGNALS: void marginsChanged(QRectF newMargins); |