From e76ab3051747ffd0bb7e30cb1f74b53d0b8a764f 2012-06-27 10:00:52 From: Michal Klocek Date: 2012-06-27 10:00:52 Subject: [PATCH] Refactors setMin setMax setRange to be pure viritual on private implementation --- diff --git a/src/axis/qabstractaxis.cpp b/src/axis/qabstractaxis.cpp index 46108ed..713cb4f 100644 --- a/src/axis/qabstractaxis.cpp +++ b/src/axis/qabstractaxis.cpp @@ -547,6 +547,19 @@ void QAbstractAxis::hide() } +void QAbstractAxis::setMin(const QVariant& min) +{ + d_ptr->setMin(min); +} +void QAbstractAxis::setMax(const QVariant& max) +{ + d_ptr->setMax(max); +} +void QAbstractAxis::setRange(const QVariant& min, const QVariant& max) +{ + d_ptr->setRange(min,max); +} + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis* q): diff --git a/src/axis/qabstractaxis.h b/src/axis/qabstractaxis.h index a49c39d..b01ba7b 100644 --- a/src/axis/qabstractaxis.h +++ b/src/axis/qabstractaxis.h @@ -44,8 +44,6 @@ class QTCOMMERCIALCHART_EXPORT QAbstractAxis : public QObject 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) public: @@ -103,11 +101,9 @@ public: QColor shadesBorderColor() 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 setMin(const QVariant& min); + void setMax(const QVariant& max); + void setRange(const QVariant& min, const QVariant& max); void show(); void hide(); diff --git a/src/axis/qabstractaxis_p.h b/src/axis/qabstractaxis_p.h index 11a77f4..f2f3018 100644 --- a/src/axis/qabstractaxis_p.h +++ b/src/axis/qabstractaxis_p.h @@ -45,6 +45,12 @@ Q_SIGNALS: void updated(); protected: + virtual void setMin(const QVariant& min) = 0; + virtual void setMax(const QVariant& max) = 0; + virtual void setRange(const QVariant& min, const QVariant& max) = 0; + virtual int ticksCount() const = 0; + +protected: QAbstractAxis *q_ptr; bool m_axisVisible; diff --git a/src/axis/qcategoriesaxis.cpp b/src/axis/qcategoriesaxis.cpp index e331638..536da10 100644 --- a/src/axis/qcategoriesaxis.cpp +++ b/src/axis/qcategoriesaxis.cpp @@ -112,7 +112,7 @@ QString QCategoriesAxis::at(int index) const /*! Sets minimum category to \a minCategory. */ -void QCategoriesAxis::setMin(QString minCategory) +void QCategoriesAxis::setMin(const QString& minCategory) { Q_D(QCategoriesAxis); int minIndex = d->m_categories.indexOf(minCategory); @@ -125,7 +125,7 @@ void QCategoriesAxis::setMin(QString minCategory) /*! Sets maximum category to \a maxCategory. */ -void QCategoriesAxis::setMax(QString maxCategory) +void QCategoriesAxis::setMax(const QString& maxCategory) { Q_D(QCategoriesAxis); int maxIndex = d->m_categories.indexOf(maxCategory); @@ -138,7 +138,7 @@ void QCategoriesAxis::setMax(QString maxCategory) /*! Sets range from \a minCategory to \a maxCategory */ -void QCategoriesAxis::setRange(QString minCategory, QString maxCategory) +void QCategoriesAxis::setRange(const QString& minCategory, const QString& maxCategory) { // TODO: what if maxCategory < minCategory? setMin(minCategory); @@ -153,36 +153,41 @@ QAbstractAxis::AxisType QCategoriesAxis::type() const return AxisTypeCategories; } -void QCategoriesAxis::setMin(QVariant min) +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +QCategoriesAxisPrivate::QCategoriesAxisPrivate(QCategoriesAxis* q): + QAbstractAxisPrivate(q) { - setMin(min.toString()); + } -void QCategoriesAxis::setMax(QVariant max) +QCategoriesAxisPrivate::~QCategoriesAxisPrivate() { - setMax(max.toString()); + } -void QCategoriesAxis::setRange(QVariant min, QVariant max) + +void QCategoriesAxisPrivate::setMin(const QVariant& min) { - setRange(min.toString(),max.toString()); + Q_Q(QCategoriesAxis); + q->setMin(min.toString()); } -int QCategoriesAxis::ticksCount() const +void QCategoriesAxisPrivate::setMax(const QVariant& max) { - return count(); + Q_Q(QCategoriesAxis); + q->setMax(max.toString()); } -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -QCategoriesAxisPrivate::QCategoriesAxisPrivate(QCategoriesAxis* q): - QAbstractAxisPrivate(q) +void QCategoriesAxisPrivate::setRange(const QVariant& min, const QVariant& max) { - + Q_Q(QCategoriesAxis); + q->setRange(min.toString(),max.toString()); } -QCategoriesAxisPrivate::~QCategoriesAxisPrivate() +int QCategoriesAxisPrivate::ticksCount() const { - + return m_categories.count()+1; } #include "moc_qcategoriesaxis.cpp" diff --git a/src/axis/qcategoriesaxis.h b/src/axis/qcategoriesaxis.h index 9774e26..c776f37 100644 --- a/src/axis/qcategoriesaxis.h +++ b/src/axis/qcategoriesaxis.h @@ -50,16 +50,9 @@ public: QString at(int index) const; //range handling convenience functions - void setMin(QString minCategory); - 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; + void setMin(const QString& minCategory); + void setMax(const QString& maxCategory); + void setRange(const QString& minCategory, const QString& maxCategory); Q_SIGNALS: void categoriesChanged(); diff --git a/src/axis/qcategoriesaxis_p.h b/src/axis/qcategoriesaxis_p.h index d1e8cd5..a3f4416 100644 --- a/src/axis/qcategoriesaxis_p.h +++ b/src/axis/qcategoriesaxis_p.h @@ -44,6 +44,13 @@ public: ~QCategoriesAxisPrivate(); private: + //range handling + void setMin(const QVariant& min); + void setMax(const QVariant& max); + void setRange(const QVariant& min, const QVariant& max); + int ticksCount() const; + +private: QStringList m_categories; QString m_minCategory; QString m_maxCategory; diff --git a/src/axis/qvaluesaxis.cpp b/src/axis/qvaluesaxis.cpp index f39e63b..0f963c9 100644 --- a/src/axis/qvaluesaxis.cpp +++ b/src/axis/qvaluesaxis.cpp @@ -130,30 +130,6 @@ 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): @@ -178,6 +154,38 @@ void QValuesAxisPrivate::handleAxisRangeChanged(qreal min, qreal max,int count) q->setTicksCount(count); } + +void QValuesAxisPrivate::setMin(const QVariant& min) +{ + Q_Q(QValuesAxis); + bool ok; + qreal value = min.toReal(&ok); + if(ok) q->setMin(value); +} + +void QValuesAxisPrivate::setMax(const QVariant& max) +{ + Q_Q(QValuesAxis); + bool ok; + qreal value = max.toReal(&ok); + if(ok) q->setMax(value); +} + +void QValuesAxisPrivate::setRange(const QVariant& min, const QVariant& max) +{ + Q_Q(QValuesAxis); + bool ok1; + bool ok2; + qreal value1 = min.toReal(&ok1); + qreal value2 = max.toReal(&ok2); + if(ok1&&ok2) q->setRange(value1,value2); +} + +int QValuesAxisPrivate::ticksCount() const +{ + return m_ticksCount; +} + #include "moc_qvaluesaxis.cpp" #include "moc_qvaluesaxis_p.cpp" diff --git a/src/axis/qvaluesaxis.h b/src/axis/qvaluesaxis.h index da0dd4e..a1d1b64 100644 --- a/src/axis/qvaluesaxis.h +++ b/src/axis/qvaluesaxis.h @@ -59,12 +59,6 @@ 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/axis/qvaluesaxis_p.h b/src/axis/qvaluesaxis_p.h index 9419638..8661880 100644 --- a/src/axis/qvaluesaxis_p.h +++ b/src/axis/qvaluesaxis_p.h @@ -48,6 +48,12 @@ Q_SIGNALS: public Q_SLOTS: void handleAxisRangeChanged(qreal min, qreal max,int count); +protected: + void setMin(const QVariant& min); + void setMax(const QVariant& max); + void setRange(const QVariant& min, const QVariant& max); + int ticksCount() const; + private: qreal m_min; qreal m_max;