diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/axis/axis.pri | 3 | ||||
-rw-r--r-- | src/axis/chartaxis.cpp | 10 | ||||
-rw-r--r-- | src/axis/chartaxis_p.h | 6 | ||||
-rw-r--r-- | src/axis/chartaxisx.cpp | 5 | ||||
-rw-r--r-- | src/axis/chartaxisx_p.h | 4 | ||||
-rw-r--r-- | src/axis/chartaxisy.cpp | 5 | ||||
-rw-r--r-- | src/axis/chartaxisy_p.h | 4 | ||||
-rw-r--r-- | src/axis/qabstractaxis.h | 15 | ||||
-rw-r--r-- | src/axis/qaxis.cpp | 680 | ||||
-rw-r--r-- | src/axis/qaxis.h | 136 | ||||
-rw-r--r-- | src/axis/qaxis_p.h | 85 | ||||
-rw-r--r-- | src/axis/qcategoriesaxis.cpp | 24 | ||||
-rw-r--r-- | src/axis/qcategoriesaxis.h | 11 | ||||
-rw-r--r-- | src/axis/qvaluesaxis.cpp | 24 | ||||
-rw-r--r-- | src/axis/qvaluesaxis.h | 6 | ||||
-rw-r--r-- | src/chartdataset.cpp | 39 | ||||
-rw-r--r-- | src/chartdataset_p.h | 28 | ||||
-rw-r--r-- | src/chartpresenter.cpp | 10 | ||||
-rw-r--r-- | src/chartpresenter_p.h | 8 | ||||
-rw-r--r-- | src/charttheme.cpp | 4 | ||||
-rw-r--r-- | src/charttheme_p.h | 2 | ||||
-rw-r--r-- | src/qchart.cpp | 26 | ||||
-rw-r--r-- | src/qchart.h | 11 | ||||
-rw-r--r-- | src/qchartview.h | 2 |
24 files changed, 159 insertions, 989 deletions
diff --git a/src/axis/axis.pri b/src/axis/axis.pri index a9bd4963..9b576437 100644 --- a/src/axis/axis.pri +++ b/src/axis/axis.pri @@ -5,7 +5,6 @@ SOURCES += \ $$PWD/chartaxis.cpp \ $$PWD/chartaxisx.cpp \ $$PWD/chartaxisy.cpp \ - $$PWD/qaxis.cpp \ $$PWD/qaxiscategories.cpp \ $$PWD/qcategoriesaxis.cpp \ $$PWD/qvaluesaxis.cpp \ @@ -15,14 +14,12 @@ PRIVATE_HEADERS += \ $$PWD/chartaxis_p.h \ $$PWD/chartaxisx_p.h \ $$PWD/chartaxisy_p.h \ - $$PWD/qaxis_p.h \ $$PWD/qaxiscategories_p.h \ $$PWD/qcategoriesaxis_p.h \ $$PWD/qvaluesaxis_p.h \ $$PWD/qabstractaxis_p.h PUBLIC_HEADERS += \ - $$PWD/qaxis.h \ $$PWD/qaxiscategories.h \ $$PWD/qcategoriesaxis.h \ $$PWD/qvaluesaxis.h \ diff --git a/src/axis/chartaxis.cpp b/src/axis/chartaxis.cpp index c5c63cee..8502f50d 100644 --- a/src/axis/chartaxis.cpp +++ b/src/axis/chartaxis.cpp @@ -19,8 +19,8 @@ ****************************************************************************/ #include "chartaxis_p.h" -#include "qaxis.h" -#include "qaxis_p.h" +#include "qabstractaxis.h" +#include "qabstractaxis_p.h" #include "qaxiscategories_p.h" #include "chartpresenter_p.h" #include "chartanimator_p.h" @@ -30,7 +30,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE -ChartAxis::ChartAxis(QAxis *axis,ChartPresenter *presenter) : Chart(presenter), +ChartAxis::ChartAxis(QAbstractAxis *axis,ChartPresenter *presenter) : Chart(presenter), m_chartAxis(axis), m_labelsAngle(0), m_grid(new QGraphicsItemGroup(presenter->rootItem())), @@ -52,7 +52,6 @@ ChartAxis::ChartAxis(QAxis *axis,ChartPresenter *presenter) : Chart(presenter), m_grid->setZValue(ChartPresenter::GridZValue); QObject::connect(m_chartAxis->d_ptr.data(),SIGNAL(updated()),this,SLOT(handleAxisUpdated())); - QObject::connect(m_chartAxis->categories()->d_ptr.data(),SIGNAL(updated()),this,SLOT(handleAxisCategoriesUpdated())); QGraphicsSimpleTextItem item; m_font = item.font(); @@ -150,7 +149,8 @@ bool ChartAxis::createLabels(QStringList &labels,qreal min, qreal max,int ticks) Q_ASSERT(max>min); Q_ASSERT(ticks>1); - QAxisCategories* categories = m_chartAxis->categories(); + //TODO:: QAxisCategories* categories = m_chartAxis->categories(); + QAxisCategories* categories = new QAxisCategories(); bool category = categories->count()>0; diff --git a/src/axis/chartaxis_p.h b/src/axis/chartaxis_p.h index a971bc40..0fa31a5a 100644 --- a/src/axis/chartaxis_p.h +++ b/src/axis/chartaxis_p.h @@ -38,7 +38,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE -class QAxis; +class QAbstractAxis; class ChartPresenter; class ChartAxis : public Chart @@ -47,7 +47,7 @@ class ChartAxis : public Chart public: enum AxisType{ X_AXIS,Y_AXIS }; - ChartAxis(QAxis *axis, ChartPresenter *presenter); + ChartAxis(QAbstractAxis *axis, ChartPresenter *presenter); ~ChartAxis(); virtual AxisType axisType() const = 0; @@ -107,7 +107,7 @@ private: void axisSelected(); protected: - QAxis* m_chartAxis; + QAbstractAxis* m_chartAxis; QRectF m_rect; int m_labelsAngle; QScopedPointer<QGraphicsItemGroup> m_grid; diff --git a/src/axis/chartaxisx.cpp b/src/axis/chartaxisx.cpp index 24b81f37..a33ac14e 100644 --- a/src/axis/chartaxisx.cpp +++ b/src/axis/chartaxisx.cpp @@ -19,8 +19,7 @@ ****************************************************************************/ #include "chartaxisx_p.h" -#include "qaxis.h" -#include "qaxis_p.h" +#include "qabstractaxis.h" #include "qaxiscategories_p.h" #include "chartpresenter_p.h" #include "chartanimator_p.h" @@ -32,7 +31,7 @@ static int label_padding = 5; QTCOMMERCIALCHART_BEGIN_NAMESPACE -ChartAxisX::ChartAxisX(QAxis *axis,ChartPresenter *presenter) : ChartAxis(axis,presenter) +ChartAxisX::ChartAxisX(QAbstractAxis *axis,ChartPresenter *presenter) : ChartAxis(axis,presenter) { } diff --git a/src/axis/chartaxisx_p.h b/src/axis/chartaxisx_p.h index 63b666d3..5e23ce46 100644 --- a/src/axis/chartaxisx_p.h +++ b/src/axis/chartaxisx_p.h @@ -34,13 +34,13 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE -class QAxis; +class QAbstractAxis; class ChartPresenter; class ChartAxisX : public ChartAxis { public: - ChartAxisX(QAxis *axis, ChartPresenter *presenter); + ChartAxisX(QAbstractAxis *axis, ChartPresenter *presenter); ~ChartAxisX(); AxisType axisType() const { return X_AXIS;} diff --git a/src/axis/chartaxisy.cpp b/src/axis/chartaxisy.cpp index ae909a31..9020f46a 100644 --- a/src/axis/chartaxisy.cpp +++ b/src/axis/chartaxisy.cpp @@ -19,8 +19,7 @@ ****************************************************************************/ #include "chartaxisy_p.h" -#include "qaxis.h" -#include "qaxis_p.h" +#include "qabstractaxis.h" #include "qaxiscategories_p.h" #include "chartpresenter_p.h" #include "chartanimator_p.h" @@ -32,7 +31,7 @@ static int label_padding = 5; QTCOMMERCIALCHART_BEGIN_NAMESPACE -ChartAxisY::ChartAxisY(QAxis *axis,ChartPresenter *presenter) : ChartAxis(axis,presenter) +ChartAxisY::ChartAxisY(QAbstractAxis *axis,ChartPresenter *presenter) : ChartAxis(axis,presenter) { } diff --git a/src/axis/chartaxisy_p.h b/src/axis/chartaxisy_p.h index d192fa8e..342ede1e 100644 --- a/src/axis/chartaxisy_p.h +++ b/src/axis/chartaxisy_p.h @@ -34,13 +34,13 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE -class QAxis; +class QAbstractAxis; class ChartPresenter; class ChartAxisY : public ChartAxis { public: - ChartAxisY(QAxis *axis, ChartPresenter *presenter); + ChartAxisY(QAbstractAxis *axis, ChartPresenter *presenter); ~ChartAxisY(); AxisType axisType() const { return Y_AXIS;} diff --git a/src/axis/qabstractaxis.h b/src/axis/qabstractaxis.h index 0d7dcbc8..a49c39d8 100644 --- a/src/axis/qabstractaxis.h +++ b/src/axis/qabstractaxis.h @@ -24,6 +24,7 @@ #include <qchartglobal.h> #include <QPen> #include <QFont> +#include <QVariant> QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -101,7 +102,12 @@ public: void setShadesBorderColor(QColor color); QColor shadesBorderColor() const; - int ticksCount() const; + //range handling + virtual void setMin(QVariant min) = 0; + virtual void setMax(QVariant max) = 0 ; + virtual void setRange(QVariant min, QVariant max) = 0; + + virtual int ticksCount() const = 0; void show(); void hide(); @@ -110,18 +116,17 @@ Q_SIGNALS: void visibleChanged(bool visible); void labelsVisibleChanged(bool visible); void gridVisibleChanged(bool visible); - void rangeChanged(); void colorChanged(QColor color); void labelsColorChanged(QColor color); void shadesVisibleChanged(bool visible); void shadesColorChanged(QColor color); void shadesBorderColorChanged(QColor color); - void minChanged(); - void maxChanged(); protected: QScopedPointer<QAbstractAxisPrivate> d_ptr; - Q_DISABLE_COPY(QAbstractAxis) + Q_DISABLE_COPY(QAbstractAxis); + friend class ChartDataSet; + friend class ChartAxis; }; QTCOMMERCIALCHART_END_NAMESPACE diff --git a/src/axis/qaxis.cpp b/src/axis/qaxis.cpp deleted file mode 100644 index 517f1c0e..00000000 --- a/src/axis/qaxis.cpp +++ /dev/null @@ -1,680 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc -** All rights reserved. -** For any questions to Digia, please use contact form at http://qt.digia.com -** -** This file is part of the Qt Commercial Charts Add-on. -** -** $QT_BEGIN_LICENSE$ -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. -** -** If you have questions regarding the use of this file, please use -** contact form at http://qt.digia.com -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qaxis.h" -#include "qaxis_p.h" - -QTCOMMERCIALCHART_BEGIN_NAMESPACE - -/*! - \class QAxis - \brief The QAxis class is used for manipulating chart's axis - and for adding optional axes to the chart. - \mainclass - - There is only one x Axis, however there can be multiple y axes. - Each chart series can be bound to exactly one Y axis and the shared common X axis. - Axis can be setup to show axis line with tick marks, grid lines and shades. -*/ - -/*! - \qmlclass Axis QAxis - \brief The Axis element is used for manipulating chart's axes - - There is only one x Axis, however there can be multiple y axes on a ChartView. - Each chart series can be bound to exactly one Y axis and the shared common X axis. - Axis can be setup to show axis line with tick marks, grid lines and shades. - - To access Axes you can use ChartView API. For example: - \code - ChartView { - axisX.min: 0 - axisX.max: 3 - axisX.ticksCount: 4 - axisY.min: 0 - axisY.max: 4 - // Add a few series... - } - \endcode -*/ - -/*! - \property QAxis::labelsVisible - Defines if axis labels are visible. -*/ -/*! - \qmlproperty bool Axis::labelsVisible - Defines if axis labels are visible. -*/ - -/*! - \property QAxis::min - Defines the minimum value on the axis. -*/ -/*! - \qmlproperty real Axis::min - Defines the minimum value on the axis. -*/ - -/*! - \property QAxis::max - Defines the maximum value on the axis. -*/ -/*! - \qmlproperty real Axis::max - Defines the maximum value on the axis. -*/ - -/*! - \property QAxis::visible - The visibility of the axis. -*/ -/*! - \qmlproperty bool Axis::visible - The visibility of the axis. -*/ - -/*! - \property QAxis::gridVisible - The visibility of the grid lines. -*/ -/*! - \qmlproperty bool Axis::gridVisible - The visibility of the grid lines. -*/ - -/*! - \property QAxis::color - The color of the axis and ticks. -*/ -/*! - \qmlproperty color Axis::color - The color of the axis and ticks. -*/ - -/*! - \property QAxis::labelsFont - The font of the axis labels. -*/ -/*! - \qmlproperty Font Axis::labelsFont - The font of the axis labels. - - See the \l {Font} {QML Font Element} for detailed documentation. -*/ - -/*! - \property QAxis::labelsColor - The color of the axis labels. -*/ -/*! - \qmlproperty color Axis::labelsColor - The color of the axis labels. -*/ - -/*! - \property QAxis::labelsAngle - The angle of the axis labels in degrees. -*/ -/*! - \qmlproperty int Axis::labelsAngle - The angle of the axis labels in degrees. -*/ - -/*! - \property QAxis::shadesVisible - The visibility of the axis shades. -*/ -/*! - \qmlproperty bool Axis::shadesVisible - The visibility of the axis shades. -*/ - -/*! - \property QAxis::shadesColor - The fill (brush) color of the axis shades. -*/ -/*! - \qmlproperty color Axis::shadesColor - The fill (brush) color of the axis shades. -*/ - -/*! - \property QAxis::shadesBorderColor - The border (pen) color of the axis shades. -*/ -/*! - \qmlproperty color Axis::shadesBorderColor - The border (pen) color of the axis shades. -*/ - -/*! - \property QAxis::ticksCount - The number of tick marks for the axis. -*/ -/*! - \qmlproperty int Axis::ticksCount - The number of tick marks for the axis. -*/ - -/*! - \property QAxis::niceNumbersEnabled - Whether the nice numbers algorithm is enabled or not for the axis. -*/ -/*! - \qmlproperty bool Axis::niceNumbersEnabled - Whether the nice numbers algorithm is enabled or not for the axis. -*/ - -/*! - \fn void QAxis::visibleChanged(bool) - Visiblity of the axis has changed to \a visible. -*/ - -/*! - \fn void QAxis::labelsVisibleChanged(bool) - Visiblity of the labels of the axis has changed to \a visible. -*/ - -/*! - \fn void QAxis::gridVisibleChanged(bool) - Visiblity of the grid lines of the axis has changed to \a visible. -*/ - -/*! - \fn void QAxis::minChanged(qreal min) - Axis emits signal when \a min of axis has changed. -*/ -/*! - \qmlsignal Axis::onMinChanged(real min) - Axis emits signal when \a min of axis has changed. This may happen for example if you zoom, scroll or - enable nice numbers algorithm. -*/ - -/*! - \fn void QAxis::maxChanged(qreal max) - Axis emits signal when \a max of axis has changed. -*/ -/*! - \qmlsignal Axis::onMaxChanged(real max) - Axis emits signal when \a max of axis has changed. This may happen for example if you zoom, scroll or - enable nice numbers algorithm. -*/ - -/*! - \fn void QAxis::rangeChanged(qreal min, qreal max) - Axis emits signal when \a min or \a max of axis has changed. -*/ -/*! - \qmlsignal Axis::onRangeChanged(real min, real max) - Axis emits signal when \a min or \a max of axis has changed. This may happen for example if you zoom, scroll or - enable nice numbers algorithm. -*/ - -/*! - \fn QChartAxisCategories* QAxis::categories() - Returns pointer to the list of categories which correspond to the values on the axis. -*/ - -/*! - \fn void QAxis::colorChanged(QColor) - Emitted if the \a color of the axis is changed. -*/ - -/*! - \fn void QAxis::labelsColorChanged(QColor) - Emitted if the \a color of the axis labels is changed. -*/ - -/*! - \fn void QAxis::shadesVisibleChanged(bool) - Emitted if the visibility of the axis shades is changed to \a visible. -*/ - -/*! - \fn void QAxis::shadesColorChanged(QColor) - Emitted if the \a color of the axis shades is changed. -*/ - -/*! - \fn void QAxis::shadesBorderColorChanged(QColor) - Emitted if the border \a color of the axis shades is changed. -*/ - -/*! - Constructs new axis object which is a child of \a parent. Ownership is taken by - QChart when axis added. -*/ -QAxis::QAxis(QObject *parent) : QObject(parent), -d_ptr(new QAxisPrivate(this)) -{ - -} - -/*! - Destructor of the axis object. When axis is added to chart, chart object takes ownership. -*/ - -QAxis::~QAxis() -{ -} - -/*! - Sets \a pen used to draw axis line and ticks. - */ -void QAxis::setAxisPen(const QPen &pen) -{ - if (d_ptr->m_axisPen!=pen) { - d_ptr->m_axisPen = pen; - emit d_ptr->updated(); - } -} - -/*! - Returns pen used to draw axis and ticks. -*/ -QPen QAxis::axisPen() const -{ - return d_ptr->m_axisPen; -} - -void QAxis::setAxisPenColor(QColor color) -{ - QPen p = d_ptr->m_axisPen; - if (p.color() != color) { - p.setColor(color); - setAxisPen(p); - emit colorChanged(color); - } -} - -QColor QAxis::axisPenColor() const -{ - return d_ptr->m_axisPen.color(); -} - -/*! - Sets if axis and ticks are \a visible. - */ -void QAxis::setAxisVisible(bool visible) -{ - if (d_ptr->m_axisVisible != visible) { - d_ptr->m_axisVisible = visible; - emit d_ptr->updated(); - emit visibleChanged(visible); - } -} - -bool QAxis::isAxisVisible() const -{ - return d_ptr->m_axisVisible; -} - -void QAxis::setGridLineVisible(bool visible) -{ - if (d_ptr->m_gridLineVisible != visible) { - d_ptr->m_gridLineVisible = visible; - emit d_ptr->updated(); - emit gridVisibleChanged(visible); - } -} - -bool QAxis::isGridLineVisible() const -{ - return d_ptr->m_gridLineVisible; -} - -/*! - Sets \a pen used to draw grid line. -*/ -void QAxis::setGridLinePen(const QPen &pen) -{ - if (d_ptr->m_gridLinePen != pen) { - d_ptr->m_gridLinePen = pen; - emit d_ptr->updated(); - } -} - -/*! - Returns pen used to draw grid. -*/ -QPen QAxis::gridLinePen() const -{ - return d_ptr->m_gridLinePen; -} - -void QAxis::setLabelsVisible(bool visible) -{ - if (d_ptr->m_labelsVisible != visible) { - d_ptr->m_labelsVisible = visible; - emit d_ptr->updated(); - emit labelsVisibleChanged(visible); - } -} - -bool QAxis::labelsVisible() const -{ - return d_ptr->m_labelsVisible; -} - -/*! - Sets \a pen used to draw labels. -*/ -void QAxis::setLabelsPen(const QPen &pen) -{ - if (d_ptr->m_labelsPen != pen) { - d_ptr->m_labelsPen = pen; - emit d_ptr->updated(); - } -} - -/*! - Returns the pen used to labels. -*/ -QPen QAxis::labelsPen() const -{ - return d_ptr->m_labelsPen; -} - -/*! - Sets \a brush used to draw labels. - */ -void QAxis::setLabelsBrush(const QBrush &brush) -{ - if (d_ptr->m_labelsBrush != brush) { - d_ptr->m_labelsBrush = brush; - emit d_ptr->updated(); - } -} - -/*! - Returns brush used to draw labels. -*/ -QBrush QAxis::labelsBrush() const -{ - return d_ptr->m_labelsBrush; -} - -/*! - Sets \a font used to draw labels. -*/ -void QAxis::setLabelsFont(const QFont &font) -{ - if (d_ptr->m_labelsFont != font) { - d_ptr->m_labelsFont = font; - emit d_ptr->updated(); - } -} - -/*! - Returns font used to draw labels. -*/ -QFont QAxis::labelsFont() const -{ - return d_ptr->m_labelsFont; -} - -void QAxis::setLabelsAngle(int angle) -{ - if (d_ptr->m_labelsAngle != angle) { - d_ptr->m_labelsAngle = angle; - emit d_ptr->updated(); - } -} - -int QAxis::labelsAngle() const -{ - return d_ptr->m_labelsAngle; -} - -void QAxis::setLabelsColor(QColor color) -{ - QBrush b = d_ptr->m_labelsBrush; - if (b.color() != color) { - b.setColor(color); - setLabelsBrush(b); - emit labelsColorChanged(color); - } -} - -QColor QAxis::labelsColor() const -{ - return d_ptr->m_labelsBrush.color(); -} - -void QAxis::setShadesVisible(bool visible) -{ - if (d_ptr->m_shadesVisible != visible) { - d_ptr->m_shadesVisible = visible; - emit d_ptr->updated(); - emit shadesVisibleChanged(visible); - } -} - -bool QAxis::shadesVisible() const -{ - return d_ptr->m_shadesVisible; -} - -/*! - Sets \a pen used to draw shades. -*/ -void QAxis::setShadesPen(const QPen &pen) -{ - if (d_ptr->m_shadesPen != pen) { - d_ptr->m_shadesPen = pen; - emit d_ptr->updated(); - } -} - -/*! - Returns pen used to draw shades. -*/ -QPen QAxis::shadesPen() const -{ - return d_ptr->m_shadesPen; -} - -/*! - Sets \a brush used to draw shades. -*/ -void QAxis::setShadesBrush(const QBrush &brush) -{ - if (d_ptr->m_shadesBrush != brush) { - d_ptr->m_shadesBrush = brush; - emit d_ptr->updated(); - emit shadesColorChanged(brush.color()); - } -} - -/*! - \brief Returns brush used to draw shades. -*/ -QBrush QAxis::shadesBrush() const -{ - return d_ptr->m_shadesBrush; -} - -void QAxis::setShadesColor(QColor color) -{ - QBrush b = d_ptr->m_shadesBrush; - b.setColor(color); - setShadesBrush(b); -} - -QColor QAxis::shadesColor() const -{ - return d_ptr->m_shadesBrush.color(); -} - -void QAxis::setShadesBorderColor(QColor color) -{ - QPen p = d_ptr->m_shadesPen; - p.setColor(color); - setShadesPen(p); -} - -QColor QAxis::shadesBorderColor() const -{ - return d_ptr->m_shadesPen.color(); -} - -void QAxis::setMin(qreal min) -{ - setRange(min,d_ptr->m_max); -} - -qreal QAxis::min() const -{ - return d_ptr->m_min; -} - -void QAxis::setMax(qreal max) -{ - setRange(d_ptr->m_min,max); -} - -qreal QAxis::max() const -{ - return d_ptr->m_max; -} - -/*! - Sets range from \a min to \a max on the axis. -*/ -void QAxis::setRange(qreal min, qreal max) -{ - bool changed = false; - if (!qFuzzyIsNull(d_ptr->m_min - min)) { - d_ptr->m_min = min; - changed = true; - emit minChanged(min); - } - - if (!qFuzzyIsNull(d_ptr->m_max - max)) { - d_ptr->m_max = max; - changed = true; - emit maxChanged(max); - } - - if (changed) { - emit rangeChanged(d_ptr->m_min,d_ptr->m_max); - emit d_ptr->changed(d_ptr->m_min, d_ptr->m_max, d_ptr->m_ticksCount, d_ptr->m_niceNumbers); - } -} - -/*! - Sets \a count for ticks on the axis. -*/ -void QAxis::setTicksCount(int count) -{ - if (d_ptr->m_ticksCount != count) { - d_ptr->m_ticksCount = count; - emit d_ptr->changed(d_ptr->m_min, d_ptr->m_max, d_ptr->m_ticksCount, d_ptr->m_niceNumbers); - } -} - -/*! - \fn int QAxis::ticksCount() const - Return number of ticks on the axis -*/ -int QAxis::ticksCount() const -{ - return d_ptr->m_ticksCount; -} - -/*! - Sets axis, shades, labels and grid lines to be visible. -*/ -void QAxis::show() -{ - d_ptr->m_axisVisible=true; - d_ptr->m_gridLineVisible=true; - d_ptr->m_labelsVisible=true; - d_ptr->m_shadesVisible=true; - emit d_ptr->updated(); -} - -/*! - Sets axis, shades, labels and grid lines to not be visible. -*/ -void QAxis::hide() -{ - d_ptr->m_axisVisible = false; - d_ptr->m_gridLineVisible = false; - d_ptr->m_labelsVisible = false; - d_ptr->m_shadesVisible = false; - emit d_ptr->updated(); -} - -void QAxis::setNiceNumbersEnabled(bool enable) -{ - if (d_ptr->m_niceNumbers != enable){ - d_ptr->m_niceNumbers = enable; - emit d_ptr->changed(d_ptr->m_min, d_ptr->m_max, d_ptr->m_ticksCount, d_ptr->m_niceNumbers); - } -} - -bool QAxis::niceNumbersEnabled() const -{ - return d_ptr->m_niceNumbers; -} - -QAxisCategories* QAxis::categories() -{ - return &d_ptr->m_category; -} - -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -QAxisPrivate::QAxisPrivate(QAxis* q): - q_ptr(q), - m_axisVisible(true), - m_gridLineVisible(true), - m_labelsVisible(true), - m_labelsAngle(0), - m_shadesVisible(false), - m_shadesBrush(Qt::SolidPattern), - m_shadesOpacity(1.0), - m_min(0), - m_max(0), - m_ticksCount(5), - m_niceNumbers(false) -{ - -} - -QAxisPrivate::~QAxisPrivate() -{ - -} - -void QAxisPrivate::handleAxisRangeChanged(qreal min, qreal max,int count) -{ - q_ptr->setRange(min,max); - q_ptr->setTicksCount(count); -} - -QTCOMMERCIALCHART_END_NAMESPACE - -QTCOMMERCIALCHART_USE_NAMESPACE - -#include "moc_qaxis.cpp" -#include "moc_qaxis_p.cpp" diff --git a/src/axis/qaxis.h b/src/axis/qaxis.h deleted file mode 100644 index 0bbedbbc..00000000 --- a/src/axis/qaxis.h +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc -** All rights reserved. -** For any questions to Digia, please use contact form at http://qt.digia.com -** -** This file is part of the Qt Commercial Charts Add-on. -** -** $QT_BEGIN_LICENSE$ -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. -** -** If you have questions regarding the use of this file, please use -** contact form at http://qt.digia.com -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QAXIS_H -#define QAXIS_H - -#include <qchartglobal.h> -#include <qaxiscategories.h> -#include <QPen> -#include <QFont> - -QTCOMMERCIALCHART_BEGIN_NAMESPACE - -class QAxisPrivate; - -class QTCOMMERCIALCHART_EXPORT QAxis : public QObject -{ - Q_OBJECT - Q_PROPERTY(bool visible READ isAxisVisible WRITE setAxisVisible NOTIFY visibleChanged) - Q_PROPERTY(QColor color READ axisPenColor WRITE setAxisPenColor NOTIFY colorChanged) - Q_PROPERTY(bool labelsVisible READ labelsVisible WRITE setLabelsVisible NOTIFY labelsVisibleChanged) - Q_PROPERTY(int labelsAngle READ labelsAngle WRITE setLabelsAngle) - Q_PROPERTY(QFont labelsFont READ labelsFont WRITE setLabelsFont) - Q_PROPERTY(QColor labelsColor READ labelsColor WRITE setLabelsColor NOTIFY labelsColorChanged) - Q_PROPERTY(bool gridVisible READ isGridLineVisible WRITE setGridLineVisible NOTIFY gridVisibleChanged) - Q_PROPERTY(bool shadesVisible READ shadesVisible WRITE setShadesVisible NOTIFY shadesVisibleChanged) - Q_PROPERTY(QColor shadesColor READ shadesColor WRITE setShadesColor NOTIFY shadesColorChanged) - Q_PROPERTY(QColor shadesBorderColor READ shadesBorderColor WRITE setShadesBorderColor NOTIFY shadesBorderColorChanged) - Q_PROPERTY(qreal min READ min WRITE setMin NOTIFY minChanged) - Q_PROPERTY(qreal max READ max WRITE setMax NOTIFY maxChanged) - Q_PROPERTY(int ticksCount READ ticksCount WRITE setTicksCount) - Q_PROPERTY(bool niceNumbersEnabled READ niceNumbersEnabled WRITE setNiceNumbersEnabled) - -public: - - QAxis(QObject *parent =0); - ~QAxis(); - - //axis handling - bool isAxisVisible() const; - void setAxisVisible(bool visible = true); - void setAxisPen(const QPen &pen); - QPen axisPen() const; - void setAxisPenColor(QColor color); - QColor axisPenColor() const; - - //grid handling - bool isGridLineVisible() const; - void setGridLineVisible(bool visible = true); - void setGridLinePen(const QPen &pen); - QPen gridLinePen() const; - - //labels handling - bool labelsVisible() const; - void setLabelsVisible(bool visible = true); - void setLabelsPen(const QPen &pen); - QPen labelsPen() const; - void setLabelsBrush(const QBrush &brush); - QBrush labelsBrush() const; - void setLabelsFont(const QFont &font); - QFont labelsFont() const; - void setLabelsAngle(int angle); - int labelsAngle() const; - void setLabelsColor(QColor color); - QColor labelsColor() const; - - //shades handling - bool shadesVisible() const; - void setShadesVisible(bool visible = true); - void setShadesPen(const QPen &pen); - QPen shadesPen() const; - void setShadesBrush(const QBrush &brush); - QBrush shadesBrush() const; - void setShadesColor(QColor color); - QColor shadesColor() const; - void setShadesBorderColor(QColor color); - QColor shadesBorderColor() const; - - //range handling - void setMin(qreal min); - qreal min() const; - void setMax(qreal max); - qreal max() const; - void setRange(qreal min, qreal max); - - //ticks handling - void setTicksCount(int count); - int ticksCount() const; - - void setNiceNumbersEnabled(bool enable = true); - bool niceNumbersEnabled() const; - - QAxisCategories* categories(); - - void show(); - void hide(); - -Q_SIGNALS: - void visibleChanged(bool visible); - void labelsVisibleChanged(bool visible); - void gridVisibleChanged(bool visible); - void rangeChanged(qreal min, qreal max); - void colorChanged(QColor color); - void labelsColorChanged(QColor color); - void shadesVisibleChanged(bool visible); - void shadesColorChanged(QColor color); - void shadesBorderColorChanged(QColor color); - void minChanged(qreal min); - void maxChanged(qreal max); - -private: - QScopedPointer<QAxisPrivate> d_ptr; - Q_DISABLE_COPY(QAxis) - friend class ChartDataSet; - friend class ChartAxis; -}; - -QTCOMMERCIALCHART_END_NAMESPACE -#endif /* QCHARTAXIS_H_ */ diff --git a/src/axis/qaxis_p.h b/src/axis/qaxis_p.h deleted file mode 100644 index df7869d7..00000000 --- a/src/axis/qaxis_p.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc -** All rights reserved. -** For any questions to Digia, please use contact form at http://qt.digia.com -** -** This file is part of the Qt Commercial Charts Add-on. -** -** $QT_BEGIN_LICENSE$ -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. -** -** If you have questions regarding the use of this file, please use -** contact form at http://qt.digia.com -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// W A R N I N G -// ------------- -// -// This file is not part of the QtCommercial Chart API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. - -#ifndef QAXIS_P_H -#define QAXIS_P_H - -#include "qaxis.h" - -QTCOMMERCIALCHART_BEGIN_NAMESPACE - -class QAxisPrivate : public QObject -{ - Q_OBJECT -public: - QAxisPrivate(QAxis *q); - ~QAxisPrivate(); - -Q_SIGNALS: - void updated(); - void changed(qreal min, qreal max, int tickCount,bool niceNumbers); - -public Q_SLOTS: - void handleAxisRangeChanged(qreal min, qreal max,int count); - -private: - QAxis *q_ptr; - - bool m_axisVisible; - QPen m_axisPen; - QBrush m_axisBrush; - - bool m_gridLineVisible; - QPen m_gridLinePen; - - bool m_labelsVisible; - QPen m_labelsPen; - QBrush m_labelsBrush; - QFont m_labelsFont; - int m_labelsAngle; - - bool m_shadesVisible; - QPen m_shadesPen; - QBrush m_shadesBrush; - qreal m_shadesOpacity; - - qreal m_min; - qreal m_max; - - int m_ticksCount; - QAxisCategories m_category; - - bool m_niceNumbers; - - friend class QAxis; -}; - -QTCOMMERCIALCHART_END_NAMESPACE - -#endif diff --git a/src/axis/qcategoriesaxis.cpp b/src/axis/qcategoriesaxis.cpp index 12f3c304..e331638d 100644 --- a/src/axis/qcategoriesaxis.cpp +++ b/src/axis/qcategoriesaxis.cpp @@ -42,7 +42,7 @@ QCategoriesAxis::QCategoriesAxis(QCategoriesAxisPrivate &d,QObject *parent):QAbs /*! Appends \a categories to axis */ -void QCategoriesAxis::append(QStringList &categories) +void QCategoriesAxis::append(const QStringList &categories) { Q_D(QCategoriesAxis); d->m_categories.append(categories); @@ -94,9 +94,9 @@ void QCategoriesAxis::clear() /*! Returns number of categories. */ -int QCategoriesAxis::count() +int QCategoriesAxis::count() const { - Q_D(QCategoriesAxis); + Q_D(const QCategoriesAxis); return d->m_categories.count(); } @@ -153,7 +153,25 @@ QAbstractAxis::AxisType QCategoriesAxis::type() const return AxisTypeCategories; } +void QCategoriesAxis::setMin(QVariant min) +{ + setMin(min.toString()); +} + +void QCategoriesAxis::setMax(QVariant max) +{ + setMax(max.toString()); +} + +void QCategoriesAxis::setRange(QVariant min, QVariant max) +{ + setRange(min.toString(),max.toString()); +} +int QCategoriesAxis::ticksCount() const +{ + return count(); +} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QCategoriesAxisPrivate::QCategoriesAxisPrivate(QCategoriesAxis* q): diff --git a/src/axis/qcategoriesaxis.h b/src/axis/qcategoriesaxis.h index 94575970..9774e263 100644 --- a/src/axis/qcategoriesaxis.h +++ b/src/axis/qcategoriesaxis.h @@ -40,12 +40,12 @@ protected: public: AxisType type() const; - void append(QStringList &categories); + void append(const QStringList &categories); void append(const QString &category); void remove(const QString &category); void insert(int index, const QString &category); void clear(); - int count(); + int count() const; QString at(int index) const; @@ -54,6 +54,13 @@ public: void setMax(QString maxCategory); void setRange(QString minCategory, QString maxCategory); +private: + //range handling + void setMin(QVariant min); + void setMax(QVariant max); + void setRange(QVariant min, QVariant max); + int ticksCount() const; + Q_SIGNALS: void categoriesChanged(); diff --git a/src/axis/qvaluesaxis.cpp b/src/axis/qvaluesaxis.cpp index 17d233a8..f39e63b2 100644 --- a/src/axis/qvaluesaxis.cpp +++ b/src/axis/qvaluesaxis.cpp @@ -130,6 +130,30 @@ QAbstractAxis::AxisType QValuesAxis::type() const return AxisTypeValues; } +void QValuesAxis::setMin(QVariant min) +{ + bool ok; + qreal value = min.toReal(&ok); + if(ok) setMin(value); +} + +void QValuesAxis::setMax(QVariant max) +{ + bool ok; + qreal value = max.toReal(&ok); + if(ok) setMax(value); +} + +void QValuesAxis::setRange(QVariant min, QVariant max) +{ + bool ok1; + bool ok2; + qreal value1 = min.toReal(&ok1); + qreal value2 = max.toReal(&ok2); + if(ok1&&ok2) setRange(value1,value2); +} + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QValuesAxisPrivate::QValuesAxisPrivate(QValuesAxis* q): diff --git a/src/axis/qvaluesaxis.h b/src/axis/qvaluesaxis.h index a1d1b641..da0dd4ee 100644 --- a/src/axis/qvaluesaxis.h +++ b/src/axis/qvaluesaxis.h @@ -59,6 +59,12 @@ public: void setNiceNumbersEnabled(bool enable = true); bool niceNumbersEnabled() const; +private: + //range handling + void setMin(QVariant min); + void setMax(QVariant max); + void setRange(QVariant min, QVariant max); + Q_SIGNALS: void minChanged(qreal min); void maxChanged(qreal max); diff --git a/src/chartdataset.cpp b/src/chartdataset.cpp index ceda6c6c..5ebed623 100644 --- a/src/chartdataset.cpp +++ b/src/chartdataset.cpp @@ -20,8 +20,8 @@ #include "chartdataset_p.h" #include "qchart.h" -#include "qaxis.h" -#include "qaxis_p.h" +#include "qvaluesaxis.h" +#include "qvaluesaxis_p.h" #include "qabstractseries_p.h" #include "qbarseries.h" #include "qstackedbarseries.h" @@ -31,8 +31,8 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE ChartDataSet::ChartDataSet(QChart *parent):QObject(parent), - m_axisX(new QAxis(this)), - m_axisY(new QAxis(this)), + m_axisX(new QValuesAxis(this)), + m_axisY(new QValuesAxis(this)), m_domainIndex(0), m_axisXInitialized(false), m_axisYInitialized(false) @@ -51,11 +51,12 @@ ChartDataSet::~ChartDataSet() removeAllSeries(); } -void ChartDataSet::addSeries(QAbstractSeries* series, QAxis *axisY) +void ChartDataSet::addSeries(QAbstractSeries* series) { - if(axisY==0) axisY = m_axisY; + //TODO: if(axisY==0) axisY = m_axisY; + QAbstractAxis* axisY = m_axisY; - QAxis* axis = m_seriesAxisMap.value(series); + QAbstractAxis* axis = m_seriesAxisMap.value(series); if(axis) { qWarning() << "Can not add series. Series already on the chart"; @@ -116,9 +117,9 @@ void ChartDataSet::addSeries(QAbstractSeries* series, QAxis *axisY) } -QAxis* ChartDataSet::removeSeries(QAbstractSeries* series) +QAbstractAxis* ChartDataSet::removeSeries(QAbstractSeries* series) { - QAxis* axis = m_seriesAxisMap.value(series); + QAbstractAxis* axis = m_seriesAxisMap.value(series); if(!axis){ qWarning()<<"Can not remove series. Series not found on the chart."; @@ -137,7 +138,7 @@ QAxis* ChartDataSet::removeSeries(QAbstractSeries* series) series->d_ptr->m_chart = 0; series->d_ptr->m_dataset = 0; - QList<QAxis*> axes = m_seriesAxisMap.values(); + QList<QAbstractAxis*> axes = m_seriesAxisMap.values(); int i = axes.indexOf(axis); @@ -165,9 +166,9 @@ QAxis* ChartDataSet::removeSeries(QAbstractSeries* series) void ChartDataSet::removeAllSeries() { QList<QAbstractSeries*> series = m_seriesAxisMap.keys(); - QList<QAxis*> axes; + QList<QAbstractAxis*> axes; foreach(QAbstractSeries *s , series) { - QAxis* axis = removeSeries(s); + QAbstractAxis* axis = removeSeries(s); if(axis==axisY()) continue; int i = axes.indexOf(axis); if(i==-1){ @@ -184,7 +185,7 @@ void ChartDataSet::removeAllSeries() void ChartDataSet::zoomInDomain(const QRectF& rect, const QSizeF& size) { - QMapIterator<QAxis*, Domain*> i(m_axisDomainMap); + QMapIterator<QAbstractAxis*, Domain*> i(m_axisDomainMap); //main domain has to be the last one; Domain *domain = m_axisDomainMap.value(axisY()); Q_ASSERT(domain); @@ -198,7 +199,7 @@ void ChartDataSet::zoomInDomain(const QRectF& rect, const QSizeF& size) void ChartDataSet::zoomOutDomain(const QRectF& rect, const QSizeF& size) { - QMapIterator<QAxis*, Domain*> i(m_axisDomainMap); + QMapIterator<QAbstractAxis*, Domain*> i(m_axisDomainMap); //main domain has to be the last one; Domain *domain = m_axisDomainMap.value(axisY()); Q_ASSERT(domain); @@ -213,7 +214,7 @@ void ChartDataSet::zoomOutDomain(const QRectF& rect, const QSizeF& size) int ChartDataSet::seriesCount(QAbstractSeries::SeriesType type) { int count=0; - QMapIterator<QAbstractSeries*, QAxis*> i(m_seriesAxisMap); + QMapIterator<QAbstractSeries*, QAbstractAxis*> i(m_seriesAxisMap); while (i.hasNext()) { i.next(); if(i.key()->type()==type) count++; @@ -232,7 +233,7 @@ int ChartDataSet::seriesIndex(QAbstractSeries *series) return -1; } -QAxis* ChartDataSet::axisY(QAbstractSeries *series) const +QAbstractAxis* ChartDataSet::axisY(QAbstractSeries *series) const { if(series == 0) return m_axisY; return m_seriesAxisMap.value(series); @@ -240,14 +241,14 @@ QAxis* ChartDataSet::axisY(QAbstractSeries *series) const Domain* ChartDataSet::domain(QAbstractSeries *series) const { - QAxis* axis = m_seriesAxisMap.value(series); + QAbstractAxis* axis = m_seriesAxisMap.value(series); if(axis){ return m_axisDomainMap.value(axis); }else return 0; } -Domain* ChartDataSet::domain(QAxis* axis) const +Domain* ChartDataSet::domain(QAbstractAxis* axis) const { if(!axis || axis==axisX()) { return m_axisDomainMap.value(axisY()); @@ -259,7 +260,7 @@ Domain* ChartDataSet::domain(QAxis* axis) const void ChartDataSet::scrollDomain(qreal dx,qreal dy,const QSizeF& size) { - QMapIterator<QAxis*, Domain*> i( m_axisDomainMap); + QMapIterator<QAbstractAxis*, Domain*> i( m_axisDomainMap); //main domain has to be the last one; Domain *domain = m_axisDomainMap.value(axisY()); while (i.hasNext()) { diff --git a/src/chartdataset_p.h b/src/chartdataset_p.h index 24381290..f385355c 100644 --- a/src/chartdataset_p.h +++ b/src/chartdataset_p.h @@ -36,7 +36,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE -class QAxis; +class QAbstractAxis; class QTCOMMERCIALCHART_AUTOTEST_EXPORT ChartDataSet : public QObject { @@ -45,8 +45,8 @@ public: ChartDataSet(QChart* parent=0); virtual ~ChartDataSet(); - void addSeries(QAbstractSeries* series,QAxis *axisY = 0); - QAxis* removeSeries(QAbstractSeries* series); + void addSeries(QAbstractSeries* series); + QAbstractAxis* removeSeries(QAbstractSeries* series); void removeAllSeries(); void updateSeries(QAbstractSeries* series); @@ -58,10 +58,10 @@ public: int seriesIndex(QAbstractSeries *series); Domain* domain(QAbstractSeries* series) const; - Domain* domain(QAxis* axis) const; + Domain* domain(QAbstractAxis* axis) const; - QAxis* axisX() const { return m_axisX; } - QAxis* axisY(QAbstractSeries *series = 0) const; + QAbstractAxis* axisX() const { return m_axisX; } + QAbstractAxis* axisY(QAbstractSeries *series = 0) const; QList<QAbstractSeries*> series() const; @@ -69,19 +69,19 @@ Q_SIGNALS: void seriesAdded(QAbstractSeries* series, Domain* domain); void seriesRemoved(QAbstractSeries* series); void seriesUpdated(QAbstractSeries* series); - void axisAdded(QAxis* axis,Domain* domain); - void axisRemoved(QAxis* axis); + void axisAdded(QAbstractAxis* axis,Domain* domain); + void axisRemoved(QAbstractAxis* axis); private: - QStringList createLabels(QAxis* axis,qreal min, qreal max); + QStringList createLabels(QAbstractAxis* axis,qreal min, qreal max); void calculateDomain(QAbstractSeries* series,Domain* domain); private: - QMap<QAbstractSeries *, QAxis *> m_seriesAxisMap; - QMap<QAxis*, Domain *> m_axisDomainMap; - QMap<int, QAbstractSeries *> m_indexSeriesMap; - QAxis* m_axisX; - QAxis* m_axisY; + QMap<QAbstractSeries*, QAbstractAxis*> m_seriesAxisMap; + QMap<QAbstractAxis*, Domain*> m_axisDomainMap; + QMap<int, QAbstractSeries*> m_indexSeriesMap; + QAbstractAxis* m_axisX; + QAbstractAxis* m_axisY; int m_domainIndex; bool m_axisXInitialized; diff --git a/src/chartpresenter.cpp b/src/chartpresenter.cpp index 628d9906..d3cfd4ba 100644 --- a/src/chartpresenter.cpp +++ b/src/chartpresenter.cpp @@ -20,7 +20,7 @@ #include "chartpresenter_p.h" #include "qchart.h" #include "qchart_p.h" -#include "qaxis.h" +#include "qabstractaxis.h" #include "chartdataset_p.h" #include "charttheme_p.h" #include "chartanimator_p.h" @@ -67,7 +67,7 @@ void ChartPresenter::setGeometry(const QRectF& rect) } } -void ChartPresenter::handleAxisAdded(QAxis* axis,Domain* domain) +void ChartPresenter::handleAxisAdded(QAbstractAxis* axis,Domain* domain) { ChartAxis* item; @@ -102,7 +102,7 @@ void ChartPresenter::handleAxisAdded(QAxis* axis,Domain* domain) m_axisItems.insert(axis, item); } -void ChartPresenter::handleAxisRemoved(QAxis* axis) +void ChartPresenter::handleAxisRemoved(QAbstractAxis* axis) { ChartAxis* item = m_axisItems.take(axis); Q_ASSERT(item); @@ -177,10 +177,10 @@ void ChartPresenter::setAnimationOptions(QChart::AnimationOptions options) void ChartPresenter::resetAllElements() { - QList<QAxis *> axisList = m_axisItems.uniqueKeys(); + QList<QAbstractAxis*> axisList = m_axisItems.uniqueKeys(); QList<QAbstractSeries *> seriesList = m_chartItems.uniqueKeys(); - foreach(QAxis *axis, axisList) { + foreach(QAbstractAxis *axis, axisList) { handleAxisRemoved(axis); handleAxisAdded(axis,m_dataset->domain(axis)); } diff --git a/src/chartpresenter_p.h b/src/chartpresenter_p.h index 20ff5313..178586d2 100644 --- a/src/chartpresenter_p.h +++ b/src/chartpresenter_p.h @@ -141,8 +141,8 @@ private: public Q_SLOTS: void handleSeriesAdded(QAbstractSeries* series,Domain* domain); void handleSeriesRemoved(QAbstractSeries* series); - void handleAxisAdded(QAxis* axis,Domain* domain); - void handleAxisRemoved(QAxis* axis); + void handleAxisAdded(QAbstractAxis* axis,Domain* domain); + void handleAxisRemoved(QAbstractAxis* axis); private Q_SLOTS: void handleAnimationFinished(); @@ -157,8 +157,8 @@ private: ChartAnimator* m_animator; ChartDataSet* m_dataset; ChartTheme *m_chartTheme; - QMap<QAbstractSeries *, Chart *> m_chartItems; - QMap<QAxis *, ChartAxis *> m_axisItems; + QMap<QAbstractSeries*, Chart*> m_chartItems; + QMap<QAbstractAxis*, ChartAxis*> m_axisItems; QRectF m_rect; QChart::AnimationOptions m_options; State m_state; diff --git a/src/charttheme.cpp b/src/charttheme.cpp index e1c7aa37..21f97312 100644 --- a/src/charttheme.cpp +++ b/src/charttheme.cpp @@ -23,7 +23,7 @@ #include "qchart_p.h" #include "qchartview.h" #include "qlegend.h" -#include "qaxis.h" +#include "qabstractaxis.h" #include <QTime> //series @@ -256,7 +256,7 @@ void ChartTheme::decorate(QSplineSeries *series, int index) } } -void ChartTheme::decorate(QAxis *axis,bool axisX) +void ChartTheme::decorate(QAbstractAxis *axis,bool axisX) { QPen pen; QBrush brush; diff --git a/src/charttheme_p.h b/src/charttheme_p.h index e5b926d9..34fce7fa 100644 --- a/src/charttheme_p.h +++ b/src/charttheme_p.h @@ -78,7 +78,7 @@ public: void decorate(QScatterSeries *series, int index); void decorate(QPieSeries *series, int index); void decorate(QSplineSeries *series, int index); - void decorate(QAxis *axis, bool axisX); + void decorate(QAbstractAxis *axis, bool axisX); void setForced(bool enabled); bool isForced() { return m_force; } diff --git a/src/qchart.cpp b/src/qchart.cpp index 31c1426e..54116fbb 100644 --- a/src/qchart.cpp +++ b/src/qchart.cpp @@ -23,7 +23,7 @@ #include "legendscroller_p.h" #include "qlegend_p.h" #include "chartbackground_p.h" -#include "qaxis.h" +#include "qabstractaxis.h" #include <QGraphicsScene> #include <QGraphicsSceneResizeEvent> #include <QGraphicsLayout> @@ -140,10 +140,10 @@ QChart::~QChart() \sa removeSeries(), removeAllSeries() */ -void QChart::addSeries(QAbstractSeries *series, QAxis *axisY) +void QChart::addSeries(QAbstractSeries *series) { Q_ASSERT(series); - d_ptr->m_dataset->addSeries(series, axisY); + d_ptr->m_dataset->addSeries(series); } /*! @@ -308,7 +308,7 @@ void QChart::zoom(qreal factor) /*! Returns the pointer to the x axis object of the chart */ -QAxis* QChart::axisX() const +QAbstractAxis* QChart::axisX() const { return d_ptr->m_dataset->axisX(); } @@ -317,7 +317,7 @@ QAxis* QChart::axisX() const Returns the pointer to the y axis object of the \a series If no \a series is provided then default Y axis of the chart is returned. */ -QAxis* QChart::axisY(QAbstractSeries *series) const +QAbstractAxis* QChart::axisY(QAbstractSeries *series) const { return d_ptr->m_dataset->axisY(series); } @@ -428,6 +428,18 @@ void QChart::setMarginsMinimum(const QRectF& margins) d_ptr->m_presenter->setMarginsMinimum(margins); } +void QChart::setAxisX(QAbstractSeries *series, QAbstractAxis* axis) +{ + Q_UNUSED(series); + Q_UNUSED(axis); +} + +void QChart::setAxisY(QAbstractSeries *series, QAbstractAxis* axis) +{ + Q_UNUSED(series); + Q_UNUSED(axis); +} + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QChartPrivate::QChartPrivate(): @@ -447,8 +459,8 @@ void QChartPrivate::createConnections() { QObject::connect(m_dataset,SIGNAL(seriesAdded(QAbstractSeries*,Domain*)),m_presenter,SLOT(handleSeriesAdded(QAbstractSeries*,Domain*))); QObject::connect(m_dataset,SIGNAL(seriesRemoved(QAbstractSeries*)),m_presenter,SLOT(handleSeriesRemoved(QAbstractSeries*))); - QObject::connect(m_dataset,SIGNAL(axisAdded(QAxis*,Domain*)),m_presenter,SLOT(handleAxisAdded(QAxis*,Domain*))); - QObject::connect(m_dataset,SIGNAL(axisRemoved(QAxis*)),m_presenter,SLOT(handleAxisRemoved(QAxis*))); + QObject::connect(m_dataset,SIGNAL(axisAdded(QAbstractAxis*,Domain*)),m_presenter,SLOT(handleAxisAdded(QAbstractAxis*,Domain*))); + QObject::connect(m_dataset,SIGNAL(axisRemoved(QAbstractAxis*)),m_presenter,SLOT(handleAxisRemoved(QAbstractAxis*))); //QObject::connect(m_presenter, SIGNAL(marginsChanged(QRectF)), q_ptr, SIGNAL(marginsChanged(QRectF))); } diff --git a/src/qchart.h b/src/qchart.h index 86e05dce..f6b153ad 100644 --- a/src/qchart.h +++ b/src/qchart.h @@ -30,7 +30,7 @@ class QGraphicsSceneResizeEvent; QTCOMMERCIALCHART_BEGIN_NAMESPACE class QAbstractSeries; -class QAxis; +class QAbstractAxis; class QLegend; struct QChartPrivate; @@ -70,11 +70,14 @@ public: explicit QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); ~QChart(); - void addSeries(QAbstractSeries *series, QAxis *axisY = 0); + void addSeries(QAbstractSeries *series); void removeSeries(QAbstractSeries *series); void removeAllSeries(); QList<QAbstractSeries*> series() const; + void setAxisX(QAbstractSeries *series, QAbstractAxis* axis); + void setAxisY(QAbstractSeries *series, QAbstractAxis* axis); + void setTheme(QChart::ChartTheme theme); QChart::ChartTheme theme() const; @@ -107,8 +110,8 @@ public: void scrollDown(); void scroll(const QPointF &delta); - QAxis* axisX() const; - QAxis* axisY(QAbstractSeries* series = 0) const; + QAbstractAxis* axisX() const; + QAbstractAxis* axisY(QAbstractSeries* series = 0) const; QLegend* legend() const; diff --git a/src/qchartview.h b/src/qchartview.h index 27f3d5e1..bfe28d82 100644 --- a/src/qchartview.h +++ b/src/qchartview.h @@ -21,7 +21,7 @@ #ifndef QCHARTVIEW_H
#define QCHARTVIEW_H
-#include <QAxis>
+#include <QAbstractAxis>
#include <QAbstractSeries>
#include <QChart>
#include <QGraphicsView>
|