##// END OF EJS Templates
Refactors QAxis to QAbstractAxis...
Refactors QAxis to QAbstractAxis * adds subclasses QValuesAxis , QCategoriesAxis * barchart examples does not work correcly * failing tst_qchart * disabled custmchart example , tst_dataset * setNiceNumbers moved to TODO in examples and demos

File last commit:

r1541:88a7b44ee136
r1541:88a7b44ee136
Show More
qvaluesaxis.cpp
184 lines | 3.8 KiB | text/x-c | CppLexer
/ src / axis / qvaluesaxis.cpp
Michal Klocek
Adds new API classes...
r1540 /****************************************************************************
**
** 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 "qvaluesaxis.h"
#include "qvaluesaxis_p.h"
QTCOMMERCIALCHART_BEGIN_NAMESPACE
QValuesAxis::QValuesAxis(QObject *parent) :
QAbstractAxis(*new QValuesAxisPrivate(this),parent)
{
}
QValuesAxis::QValuesAxis(QValuesAxisPrivate &d,QObject *parent) : QAbstractAxis(d,parent)
{
}
QValuesAxis::~QValuesAxis()
{
}
void QValuesAxis::setMin(qreal min)
{
Q_D(QValuesAxis);
setRange(min,d->m_max);
}
qreal QValuesAxis::min() const
{
Q_D(const QValuesAxis);
return d->m_min;
}
void QValuesAxis::setMax(qreal max)
{
Q_D(QValuesAxis);
setRange(d->m_min,max);
}
qreal QValuesAxis::max() const
{
Q_D(const QValuesAxis);
return d->m_max;
}
/*!
Sets range from \a min to \a max on the axis.
*/
void QValuesAxis::setRange(qreal min, qreal max)
{
Q_D(QValuesAxis);
bool changed = false;
if (!qFuzzyIsNull(d->m_min - min)) {
d->m_min = min;
changed = true;
emit minChanged(min);
}
if (!qFuzzyIsNull(d->m_max - max)) {
d->m_max = max;
changed = true;
emit maxChanged(max);
}
if (changed) {
emit rangeChanged(d->m_min,d->m_max);
emit d->changed(d->m_min, d->m_max, d->m_ticksCount, d->m_niceNumbers);
}
}
/*!
Sets \a count for ticks on the axis.
*/
void QValuesAxis::setTicksCount(int count)
{
Q_D(QValuesAxis);
if (d->m_ticksCount != count) {
d->m_ticksCount = count;
emit d->changed(d->m_min, d->m_max, d->m_ticksCount, d->m_niceNumbers);
}
}
/*!
\fn int QAbstractAxis::ticksCount() const
Return number of ticks on the axis
*/
int QValuesAxis::ticksCount() const
{
Q_D(const QValuesAxis);
return d->m_ticksCount;
}
void QValuesAxis::setNiceNumbersEnabled(bool enable)
{
Q_D(QValuesAxis);
if (d->m_niceNumbers != enable){
d->m_niceNumbers = enable;
emit d->changed(d->m_min, d->m_max, d->m_ticksCount, d->m_niceNumbers);
}
}
bool QValuesAxis::niceNumbersEnabled() const
{
Q_D(const QValuesAxis);
return d->m_niceNumbers;
}
QAbstractAxis::AxisType QValuesAxis::type() const
{
return AxisTypeValues;
}
Michal Klocek
Refactors QAxis to QAbstractAxis...
r1541 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);
}
Michal Klocek
Adds new API classes...
r1540 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QValuesAxisPrivate::QValuesAxisPrivate(QValuesAxis* q):
QAbstractAxisPrivate(q),
m_min(0),
m_max(0),
m_niceNumbers(false),
m_ticksCount(5)
{
}
QValuesAxisPrivate::~QValuesAxisPrivate()
{
}
void QValuesAxisPrivate::handleAxisRangeChanged(qreal min, qreal max,int count)
{
Q_Q(QValuesAxis);
q->setRange(min,max);
q->setTicksCount(count);
}
#include "moc_qvaluesaxis.cpp"
#include "moc_qvaluesaxis_p.cpp"
QTCOMMERCIALCHART_END_NAMESPACE