##// END OF EJS Templates
demos: coding style police make a surprise strike
demos: coding style police make a surprise strike

File last commit:

r2121:95b5b5ea3834
r2130:e2c3f0e5fca7
Show More
qbarcategoryaxis.cpp
554 lines | 15.0 KiB | text/x-c | CppLexer
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 /****************************************************************************
**
** 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$
**
****************************************************************************/
Marek Rosa
renamed QBarCategoryAxis related files
r1810 #include "qbarcategoryaxis.h"
#include "qbarcategoryaxis_p.h"
#include "chartbarcategoryaxisx_p.h"
#include "chartbarcategoryaxisy_p.h"
Michal Klocek
Creates default initalization of axes
r1661 #include "domain_p.h"
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 #include "chartdataset_p.h"
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 #include <qmath.h>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 /*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \class QBarCategoryAxis
\brief The QBarCategoryAxis class is used for manipulating chart's axis.
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 \mainclass
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 BarCategoryAxis can be setup to show axis line with tick marks, grid lines and shades.
sauimone
added description of using barcategory axis with line chart
r1650 Categories are drawn between ticks. Note that you can use this also with lineseries too.
See the \l {Line and BarChart Example} {Line and BarChart Example} to learn how to do that.
Marek Rosa
QBarCategoryAxis: docs snippet added
r1891
Example code on how to use QBarCategoryAxis.
\code
QChartView *chartView = new QChartView;
QBarSeries *series = new QBarSeries;
// ...
chartView->chart()->addSeries(series);
chartView->chart()->createDefaultAxes();
QBarCategoryAxis *axisX = new QBarCategoryAxis;
QStringList categories;
categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
axisX->append(categories);
Marek Rosa
Docs fixes for axes code snippets
r2108 axisX->setRange("Feb", "May");
chartView->chart()->setAxisX(axisX, series);
Marek Rosa
QBarCategoryAxis: docs snippet added
r1891 \endcode
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 */
/*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlclass BarCategoryAxis QBarCategoryAxis
\inherits AbstractAxis
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 \brief The Axis element is used for manipulating chart's axes.
Axis can be setup to show axis line with tick marks, grid lines and shades.
sauimone
added description of using barcategory axis with line chart
r1650 Categories are drawn between ticks. Note that you can use this also with lineseries too.
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 To access BarCategoryAxis you can use ChartView API. For example:
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 \code
ChartView {
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 BarCategoryAxis {
sauimone
qml doc update
r1639 id: categoryAxis
categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun" ]
}
// Add a few series...
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 }
\endcode
*/
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \property QBarCategoryAxis::categories
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the categories of axis
*/
/*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlproperty QStringList BarCategoryAxis::categories
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the categories of axis
*/
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \property QBarCategoryAxis::min
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the minimum value on the axis.
*/
/*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlproperty QString BarCategoryAxis::min
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the minimum value on the axis.
*/
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \property QBarCategoryAxis::max
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the maximum value on the axis.
*/
/*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlproperty QString BarCategoryAxis::max
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Defines the maximum value on the axis.
*/
Marek Rosa
Docs fixes
r1657
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \fn void QBarCategoryAxis::categoriesChanged()
Marek Rosa
Docs fixes
r1657 Axis emits signal when the categories of the axis has changed.
*/
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 /*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \fn void QBarCategoryAxis::minChanged(const QString &min)
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Axis emits signal when \a min of axis has changed.
*/
sauimone
abstract axis qml documentation. bug fix to setArrowVisible
r1654 /*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlsignal BarCategoryAxis::onMinChanged(const QString &min)
sauimone
abstract axis qml documentation. bug fix to setArrowVisible
r1654 Axis emits signal when \a min of axis has changed.
*/
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \fn void QBarCategoryAxis::maxChanged(const QString &max)
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Axis emits signal when \a max of axis has changed.
*/
sauimone
abstract axis qml documentation. bug fix to setArrowVisible
r1654 /*!
Tero Ahola
Fixed minor issues in QML axes documentation
r1869 \qmlsignal BarCategoryAxis::onMaxChanged(const QString &max)
sauimone
abstract axis qml documentation. bug fix to setArrowVisible
r1654 Axis emits signal when \a max of axis has changed.
*/
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624
/*!
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1809 \fn void QBarCategoryAxis::rangeChanged(const QString &min, const QString &max)
sauimone
barcategoriesaxis documentation. Doc stub to intervalaxis
r1624 Axis emits signal when \a min or \a max of axis has changed.
*/
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613
Marek Rosa
Axes docs update
r1636 /*!
Constructs an axis object which is a child of \a parent.
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QBarCategoryAxis::QBarCategoryAxis(QObject *parent):
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 QAbstractAxis(*new QBarCategoryAxisPrivate(this), parent)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
}
Marek Rosa
Various docs fixes
r1638 /*!
Destroys the object
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QBarCategoryAxis::~QBarCategoryAxis()
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (d->m_dataset)
d->m_dataset->removeAxis(this);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Marek Rosa
Various docs fixes
r1638 /*!
\internal
*/
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 QBarCategoryAxis::QBarCategoryAxis(QBarCategoryAxisPrivate &d, QObject *parent)
: QAbstractAxis(d, parent)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
}
/*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Appends \a categories to axis. A maximum of the axis will be changed to last category in \a categories.
If there were no categories previously defined, minimum of axis will be also changed to first category in \a categories.
A category has to be valid QStrings and can not be duplicated. Duplicated categories will not be appended.
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::append(const QStringList &categories)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (categories.isEmpty())
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 return;
Michal Klocek
Bugfixes to barcategoryaxis
r1640
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
int count = d->m_categories.count();
foreach(QString category, categories)
{
if(!d->m_categories.contains(category) && !category.isNull()) {
d->m_categories.append(category);
}
}
if(d->m_categories.count() == count) return;
if (count == 0) {
setRange(d->m_categories.first(), d->m_categories.last());
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 } else {
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 setRange(d->m_minCategory, d->m_categories.last());
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 emit categoriesChanged();
}
/*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Appends \a category to axis. A maximum of the axis will be changed to last \a category.
If there were no categories previously defined, minimum of axis will be also changed to \a category.
A \a category has to be valid QStrings and can not be duplicated. Duplicated categories will not be appended.
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::append(const QString &category)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
int count = d->m_categories.count();
if(!d->m_categories.contains(category) && !category.isNull()){
sauimone
category axis initialization
r1662 d->m_categories.append(category);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 }
if(d->m_categories.count() == count) return;
if (count == 0) {
setRange(d->m_categories.last(), d->m_categories.last());
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 } else {
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 setRange(d->m_minCategory, d->m_categories.last());
sauimone
category axis initialization
r1662 }
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
sauimone
category axis initialization
r1662 emit categoriesChanged();
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
/*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Removes \a category from axis. Removing category which is currently maximum or minimum
will affect the axis range.
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::remove(const QString &category)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 if (d->m_categories.contains(category)) {
d->m_categories.removeAt(d->m_categories.indexOf(category));
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 if (!d->m_categories.isEmpty()){
if(d->m_minCategory == category){
setRange(d->m_categories.first(), d->m_maxCategory);
} else if(d->m_maxCategory == category){
setRange(d->m_minCategory, d->m_categories.last());
} else {
d->updateCategoryDomain();
d->emitUpdated();
}
}else
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(QString::null, QString::null);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 emit categoriesChanged();
}
}
/*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Inserts \a category to axis at \a index. A \a category has to be valid QStrings and can not be duplicated.
If \a category is prepended or appended to categories, minimum and maximum of axis is updated accordingly.
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::insert(int index, const QString &category)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
int count = d->m_categories.count();
if(!d->m_categories.contains(category) && !category.isNull()){
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 d->m_categories.insert(index, category);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 }
if(d->m_categories.count() == count) return;
if (count == 0) {
setRange(d->m_categories.first(), d->m_categories.first());
} else if (index == 0) {
setRange(d->m_categories.first(), d->m_maxCategory);
} else if (index == count){
setRange(d->m_minCategory, d->m_categories.last());
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 } else {
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 d->updateCategoryDomain();
Michal Klocek
Updates tst_qbarcategories
r1732 d->emitUpdated();
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 emit categoriesChanged();
}
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 /*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Replaces \a oldCategory with \a newCategory. If \a oldCategory does not exits on the axis nothing is done.
A \a newVategory has to be valid QStrings and can not be duplicated. In case of replacing minimum or maximum category,
minimum and maximum of axis is updated accordingly.
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::replace(const QString &oldCategory, const QString &newCategory)
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 int pos = d->m_categories.indexOf(oldCategory);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121
if (pos != -1 && !d->m_categories.contains(newCategory) && !newCategory.isNull()) {
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 d->m_categories.replace(pos, newCategory);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 if(d->m_minCategory == oldCategory) {
setRange(newCategory, d->m_maxCategory);
} else if(d->m_maxCategory == oldCategory) {
setRange(d->m_minCategory, newCategory);
} else {
d->emitUpdated();
}
Marek Rosa
Added posibility to replace category in QBarCategoriesAxis
r1774 emit categoriesChanged();
}
}
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 /*!
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 Removes all categories. Sets the maximum and minimum of the axis's range to QString::null.
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::clear()
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 d->m_categories.clear();
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 setRange(QString::null, QString::null);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 emit categoriesChanged();
}
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 /*!
Set \a categories and discards the old ones, range of axis is adjusted to match first and last category in \a categories.
A category has to be valid QStrings and can not be duplicated.
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxis::setCategories(const QStringList &categories)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 d->m_categories.clear();
d->m_minCategory = QString::null;
d->m_maxCategory = QString::null;
d->m_min = 0;
d->m_max = 0;
d->m_count = 0;
append(categories);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 /*!
Returns categories
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QStringList QBarCategoryAxis::categories()
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 return d->m_categories;
}
/*!
Returns number of categories.
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 int QBarCategoryAxis::count() const
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(const QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 return d->m_categories.count();
}
/*!
Returns category at \a index. Index must be valid.
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QString QBarCategoryAxis::at(int index) const
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(const QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 return d->m_categories.at(index);
}
/*!
Sets minimum category to \a min.
*/
Jani Honkonen
more coding style fixes for src-folder...
r2104 void QBarCategoryAxis::setMin(const QString &min)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(min, d->m_maxCategory);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
/*!
Returns minimum category.
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QString QBarCategoryAxis::min() const
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(const QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 return d->m_minCategory;
}
/*!
Sets maximum category to \a max.
*/
Jani Honkonen
more coding style fixes for src-folder...
r2104 void QBarCategoryAxis::setMax(const QString &max)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(d->m_minCategory, max);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
/*!
Returns maximum category
*/
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QString QBarCategoryAxis::max() const
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(const QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 return d->m_maxCategory;
}
/*!
Sets range from \a minCategory to \a maxCategory
*/
Jani Honkonen
more coding style fixes for src-folder...
r2104 void QBarCategoryAxis::setRange(const QString &minCategory, const QString &maxCategory)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_D(QBarCategoryAxis);
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725
bool changed = false;
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 //special case in case or clearing all categories
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (minCategory.isNull() && maxCategory.isNull()) {
Michal Klocek
Updates tst_qbarcategories
r1732 d->m_minCategory = minCategory;
d->m_maxCategory = maxCategory;
d->m_min = 0;
d->m_max = 0;
emit minChanged(minCategory);
emit maxChanged(maxCategory);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 d->m_count = 0;
emit rangeChanged(d->m_minCategory, d->m_maxCategory);
Michal Klocek
Updates tst_qbarcategories
r1732 d->emitUpdated();
}
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 if (d->m_categories.indexOf(maxCategory) < d->m_categories.indexOf(minCategory)){
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 return;
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 }
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (!minCategory.isEmpty() && d->m_minCategory != minCategory && d->m_categories.contains(minCategory)) {
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 d->m_minCategory = minCategory;
d->m_min = d->m_categories.indexOf(d->m_minCategory) - 0.5;
changed = true;
emit minChanged(minCategory);
}
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (!maxCategory.isEmpty() && d->m_maxCategory != maxCategory && d->m_categories.contains(maxCategory)) {
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 d->m_maxCategory = maxCategory;
d->m_max = d->m_categories.indexOf(d->m_maxCategory) + 0.5;
changed = true;
emit maxChanged(maxCategory);
}
if (changed) {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 d->m_count = d->m_max - d->m_min;
emit rangeChanged(d->m_minCategory, d->m_maxCategory);
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 d->emitUpdated();
}
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
/*!
Marek Rosa
Few more axes docs updates
r1637 Returns the type of the axis
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 */
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QAbstractAxis::AxisType QBarCategoryAxis::type() const
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
updated AxisType names
r1818 return AxisTypeBarCategory;
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Jani Honkonen
more coding style fixes for src-folder...
r2104 QBarCategoryAxisPrivate::QBarCategoryAxisPrivate(QBarCategoryAxis *q)
: QAbstractAxisPrivate(q),
m_min(0.0),
m_max(0.0),
m_count(0)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
}
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 QBarCategoryAxisPrivate::~QBarCategoryAxisPrivate()
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
}
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxisPrivate::setMin(const QVariant &min)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(min, m_maxCategory);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxisPrivate::setMax(const QVariant &max)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(m_minCategory, max);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxisPrivate::setRange(const QVariant &min, const QVariant &max)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_Q(QBarCategoryAxis);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 QString value1 = min.toString();
QString value2 = max.toString();
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 q->setRange(value1, value2);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 void QBarCategoryAxisPrivate::handleDomainUpdated()
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_Q(QBarCategoryAxis);
Jani Honkonen
more coding style fixes for src-folder...
r2104 Domain *domain = qobject_cast<Domain *>(sender());
Michal Klocek
Adds scroll support for categories axis
r1716
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_orientation == Qt::Horizontal) {
Michal Klocek
Adds scroll support for categories axis
r1716 m_min = domain->minX();
m_max = domain->maxX();
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 } else if (m_orientation == Qt::Vertical) {
Michal Klocek
Adds scroll support for categories axis
r1716 m_min = domain->minY();
m_max = domain->maxY();
}
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 bool changed = false;
sauimone
category axis initialization
r1662
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 int min = m_min + 0.5;
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (min >= 0 && min < m_categories.count()) {
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 QString minCategory = m_categories.at(min);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_minCategory != minCategory && !minCategory.isEmpty()) {
m_minCategory = minCategory;
changed = true;
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 emit q->minChanged(minCategory);
sauimone
barcategories axis initialisation crash commented out. add to known issues list
r1664 }
sauimone
category axis initialization
r1662 }
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 int max = m_max - 0.5;
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (max >= 0 && max < m_categories.count()) {
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 QString maxCategory = m_categories.at(max);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_maxCategory != maxCategory && !maxCategory.isEmpty()) {
m_maxCategory = maxCategory;
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 emit q->maxChanged(maxCategory);
}
sauimone
category axis initialization
r1662 }
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (changed)
emit q->rangeChanged(m_minCategory, m_maxCategory);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Jani Honkonen
more coding style fixes for src-folder...
r2104 ChartAxis *QBarCategoryAxisPrivate::createGraphics(ChartPresenter *presenter)
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 {
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_Q(QBarCategoryAxis);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_orientation == Qt::Vertical)
return new ChartBarCategoryAxisY(q, presenter);
return new ChartBarCategoryAxisX(q, presenter);
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613 }
Michal Klocek
Adds more logic and documentation to qbarcategoryaxis for append, insert, replace, clear
r2121 void QBarCategoryAxisPrivate::updateCategoryDomain()
{
m_min = m_categories.indexOf(m_minCategory) - 0.5;
m_max = m_categories.indexOf(m_maxCategory) + 0.5;
m_count = m_max - m_min;
}
Jani Honkonen
more coding style fixes for src-folder...
r2104 void QBarCategoryAxisPrivate::intializeDomain(Domain *domain)
Michal Klocek
Creates default initalization of axes
r1661 {
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 Q_Q(QBarCategoryAxis);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_max == m_min) {
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764 int min;
int max;
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (m_orientation == Qt::Vertical) {
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764 min = domain->minY() + 0.5;
max = domain->maxY() - 0.5;
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 } else {
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764 min = domain->minX() + 0.5;
max = domain->maxX() - 0.5;
}
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (min > 0 && min < m_categories.count() && max > 0 && max < m_categories.count())
q->setRange(m_categories.at(min), m_categories.at(max));
} else {
if (m_orientation == Qt::Vertical)
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764 domain->setRangeY(m_min, m_max);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 else
Michal Klocek
Add autoscale support to barcategoriesaxis
r1764 domain->setRangeX(m_min, m_max);
sauimone
category axis initialization
r1662 }
Michal Klocek
Creates default initalization of axes
r1661 }
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613
Marek Rosa
renamed QBarCategoryAxis related files
r1810 #include "moc_qbarcategoryaxis.cpp"
#include "moc_qbarcategoryaxis_p.cpp"
Michal Klocek
Refactor CategoriesAxis to BarCategoriesAxis part 2 of 2
r1613
QTCOMMERCIALCHART_END_NAMESPACE