##// END OF EJS Templates
Added tests for XYModelMapper
Added tests for XYModelMapper

File last commit:

r1321:c4f4e0f381ad
r1352:6d51f9f77c12
Show More
qbarset.cpp
309 lines | 7.4 KiB | text/x-c | CppLexer
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
** 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$
**
****************************************************************************/
sauimone
proof of concept implementation for barset and barcategory
r169 #include "qbarset.h"
Michal Klocek
Adds big fat pimpl to series classes...
r938 #include "qbarset_p.h"
sauimone
proof of concept implementation for barset and barcategory
r169
QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
Documentation for bar charts
r313 /*!
\class QBarSet
\brief part of QtCommercial chart API.
QBarSet represents one set of bars. Set of bars contains one data value for each category.
First value of set is assumed to belong to first category, second to second category and so on.
If set has fewer values than there are categories, then the missing values are assumed to be
at the end of set. For missing values in middle of a set, numerical value of zero is used.
sauimone
updated documentation and examples for barcharts
r325 \mainclass
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 \sa QBarSeries, QGroupedBarSeries, QStackedBarSeries, QPercentBarSeries
sauimone
Documentation for bar charts
r313 */
/*!
Constructs QBarSet with a name of \a name and with parent of \a parent
*/
sauimone
barset: unified insert/set/remove methods
r993 QBarSet::QBarSet(const QString name, QObject *parent)
sauimone
updated barchart examples. minor fixes
r276 : QObject(parent)
sauimone
barchart pimpl part 1
r934 ,d_ptr(new QBarSetPrivate(name,this))
sauimone
proof of concept implementation for barset and barcategory
r169 {
}
sauimone
barchart: doc update for hover signals
r980 /*!
Destroys the barset
*/
Jani Honkonen
Fix vs build problems with bar
r944 QBarSet::~QBarSet()
{
sauimone
barchart: doc update for hover signals
r980 // NOTE: d_ptr destroyed by QObject
Jani Honkonen
Fix vs build problems with bar
r944 }
sauimone
Documentation for bar charts
r313 /*!
Sets new \a name for set.
*/
sauimone
barset: unified insert/set/remove methods
r993 void QBarSet::setName(const QString name)
sauimone
proof of concept implementation for barset and barcategory
r169 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 d_ptr->m_name = name;
sauimone
proof of concept implementation for barset and barcategory
r169 }
sauimone
Documentation for bar charts
r313
/*!
Returns name of the set.
*/
sauimone
const to getters, renamed addBarset to appendBarset
r776 QString QBarSet::name() const
sauimone
Barset and barcategory implememtation. Updated test application
r171 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_name;
sauimone
Barset and barcategory implememtation. Updated test application
r171 }
sauimone
proof of concept implementation for barset and barcategory
r169
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 /*!
Appends a point to set. Parameter \a value x coordinate defines the
position in x-axis and y coordinate defines the height of bar.
Depending on presentation (QBarSeries, QGroupedBarSeries, QStackedBarSeries, QPercentBarSeries)
the x values are used or ignored.
*/
sauimone
new series: groupedbarseries
r1167 void QBarSet::append(const QPointF value)
{
d_ptr->m_values.append(value);
emit d_ptr->restructuredBars();
}
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 /*!
sauimone
documentation fix
r1243 Appends a list of \a values to set. Works like append with single point.
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 \sa append()
*/
sauimone
new series: groupedbarseries
r1167 void QBarSet::append(const QList<QPointF> values)
{
for (int i=0; i<values.count(); i++) {
d_ptr->m_values.append(values.at(i));
}
emit d_ptr->restructuredBars();
}
sauimone
Documentation for bar charts
r313 /*!
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 Appends new value \a value to the end of set. Internally the value is converted to QPointF,
with x coordinate being the index of appended value and y coordinate is the value.
sauimone
Documentation for bar charts
r313 */
sauimone
barset: unified insert/set/remove methods
r993 void QBarSet::append(const qreal value)
sauimone
proof of concept implementation for barset and barcategory
r169 {
sauimone
new series: groupedbarseries
r1167 append(QPointF(d_ptr->m_values.count(), value));
}
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 /*!
Appends a list of reals to set. Works like append with single real value. The values in list
are converted to QPointF, where x coordinate is the index of point and y coordinate is the value.
\sa append()
*/
sauimone
new series: groupedbarseries
r1167 void QBarSet::append(const QList<qreal> values)
{
int index = d_ptr->m_values.count();
for (int i=0; i<values.count(); i++) {
d_ptr->m_values.append(QPointF(index,values.at(i)));
index++;
}
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->restructuredBars();
sauimone
barset: unified insert/set/remove methods
r993 }
/*!
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 Convinience operator. Same as append, with real \a value.
\sa append()
sauimone
barset: unified insert/set/remove methods
r993 */
QBarSet& QBarSet::operator << (const qreal &value)
{
append(value);
sauimone
proof of concept implementation for barset and barcategory
r169 return *this;
}
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 /*!
Convinience operator. Same as append, with QPointF \a value.
\sa append()
*/
sauimone
new series: groupedbarseries
r1167 QBarSet& QBarSet::operator << (const QPointF &value)
{
append(value);
return *this;
}
Marek Rosa
Updated spline chart example documentation and added some more docs to barseries
r901 /*!
sauimone
barset: unified insert/set/remove methods
r993 Inserts new \a value on the \a index position.
The value that is currently at this postion is moved to postion index + 1
\sa remove()
Marek Rosa
Updated spline chart example documentation and added some more docs to barseries
r901 */
sauimone
barset: unified insert/set/remove methods
r993 void QBarSet::insert(const int index, const qreal value)
Marek Rosa
Adding data to BarSet through model added
r662 {
sauimone
new series: groupedbarseries
r1167 d_ptr->m_values.insert(index, QPointF(index, value));
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 // emit d_ptr->updatedBars();
Marek Rosa
Adding data to BarSet through model added
r662 }
Marek Rosa
Updated spline chart example documentation and added some more docs to barseries
r901 /*!
sauimone
barset: unified insert/set/remove methods
r993 Removes the value specified by \a index
\sa insert()
Marek Rosa
Updated spline chart example documentation and added some more docs to barseries
r901 */
sauimone
barset: unified insert/set/remove methods
r993 void QBarSet::remove(const int index)
Marek Rosa
Removing data from BarSeries through model added
r663 {
sauimone
barset: unified insert/set/remove methods
r993 d_ptr->m_values.removeAt(index);
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 // emit d_ptr->updatedBars();
Marek Rosa
Removing data from BarSeries through model added
r663 }
sauimone
Documentation for bar charts
r313 /*!
sauimone
barset: unified insert/set/remove methods
r993 Sets a new value \a value to set, indexed by \a index
sauimone
Documentation for bar charts
r313 */
sauimone
barset: unified insert/set/remove methods
r993 void QBarSet::replace(const int index, const qreal value)
sauimone
Barset and barcategory implememtation. Updated test application
r171 {
sauimone
new series: groupedbarseries
r1167 d_ptr->m_values.replace(index,QPointF(index,value));
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->updatedBars();
sauimone
Barset and barcategory implememtation. Updated test application
r171 }
sauimone
Documentation for bar charts
r313 /*!
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 Returns value of set indexed by \a index. Note that all appended values are stored internally as QPointF.
The returned QPointF has x coordinate, which is index (if appended with qreal append) or the x value
of the QPointF (if appended with QPointF append).
If the index is out of bounds QPointF(0, 0.0) is returned.
sauimone
Documentation for bar charts
r313 */
sauimone
new series: groupedbarseries
r1167 QPointF QBarSet::at(const int index) const
sauimone
Barset and barcategory implememtation. Updated test application
r171 {
sauimone
warning are errors. fixed
r1168 if (index < 0 || index >= d_ptr->m_values.count()) {
return QPointF(index, 0.0);
}
Tero Ahola
Added declarative model for bar series
r1162
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_values.at(index);
sauimone
Barset and barcategory implememtation. Updated test application
r171 }
sauimone
Documentation for bar charts
r313 /*!
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 Returns value of set indexed by \a index. ote that all appended values are stored internally as QPointF.
The returned QPointF has x coordinate, which is index (if appended with qreal append) or the x value
of the QPointF (if appended with QPointF append).
sauimone
Documentation for bar charts
r313 */
sauimone
new series: groupedbarseries
r1167 QPointF QBarSet::operator [](const int index) const
sauimone
brush support for bargroups
r183 {
sauimone
barset: unified insert/set/remove methods
r993 return d_ptr->m_values.at(index);
}
/*!
Returns count of values in set.
*/
int QBarSet::count() const
{
return d_ptr->m_values.count();
sauimone
brush support for bargroups
r183 }
sauimone
fixed example paths in barchart documentation
r492 /*!
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 Returns sum of all values in barset. The sum is sum of y coordinates in the QPointF representation.
sauimone
fixed example paths in barchart documentation
r492 */
sauimone
barchart pimpl part 1
r934 qreal QBarSet::sum() const
sauimone
updating drilldown example. Needs some more thinking
r438 {
qreal total(0);
Michal Klocek
Adds big fat pimpl to series classes...
r938 for (int i=0; i < d_ptr->m_values.count(); i++) {
sauimone
new series: groupedbarseries
r1167 //total += d_ptr->m_values.at(i);
total += d_ptr->m_values.at(i).y();
sauimone
updating drilldown example. Needs some more thinking
r438 }
return total;
}
sauimone
Documentation for bar charts
r313 /*!
Sets pen for set. Bars of this set are drawn using \a pen
*/
sauimone
minor code review fixes, part n
r763 void QBarSet::setPen(const QPen &pen)
sauimone
Added pen & brush to QBarSet
r214 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 if(d_ptr->m_pen!=pen){
d_ptr->m_pen = pen;
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->updatedBars();
Michal Klocek
Adds big fat pimpl to series classes...
r938 }
sauimone
Added pen & brush to QBarSet
r214 }
sauimone
Documentation for bar charts
r313 /*!
Returns pen of the set.
*/
sauimone
Fixed layout for barcharts
r473 QPen QBarSet::pen() const
sauimone
Added pen & brush to QBarSet
r214 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_pen;
sauimone
Added pen & brush to QBarSet
r214 }
sauimone
Documentation for bar charts
r313 /*!
Sets brush for the set. Bars of this set are drawn using \a brush
*/
sauimone
minor code review fixes, part n
r763 void QBarSet::setBrush(const QBrush &brush)
sauimone
Added pen & brush to QBarSet
r214 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 if(d_ptr->m_brush!=brush){
d_ptr->m_brush = brush;
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->updatedBars();
Michal Klocek
Adds big fat pimpl to series classes...
r938 }
sauimone
Added pen & brush to QBarSet
r214 }
sauimone
Documentation for bar charts
r313 /*!
Returns brush of the set.
*/
sauimone
Fixed layout for barcharts
r473 QBrush QBarSet::brush() const
sauimone
Added pen & brush to QBarSet
r214 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_brush;
sauimone
Added pen & brush to QBarSet
r214 }
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 /*!
sauimone
fixed clipping in barcharts
r839 Sets \a brush of the values that are drawn on top of this barset
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 */
void QBarSet::setLabelBrush(const QBrush &brush)
{
Michal Klocek
Adds big fat pimpl to series classes...
r938 if(d_ptr->m_labelBrush!=brush){
d_ptr->m_labelBrush = brush;
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->updatedBars();
Michal Klocek
Adds big fat pimpl to series classes...
r938 }
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 }
/*!
Returns brush of the values that are drawn on top of this barset
*/
QBrush QBarSet::labelBrush() const
{
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_labelBrush;
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 }
/*!
sauimone
fixed clipping in barcharts
r839 Sets the \a font for values that are drawn on top of this barset
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 */
void QBarSet::setLabelFont(const QFont &font)
{
Michal Klocek
Adds big fat pimpl to series classes...
r938 if(d_ptr->m_labelFont!=font) {
d_ptr->m_labelFont = font;
sauimone
barchart: removed mousebuttons from clicked signal. removed selected signal. unified internal signal naming in barset and barseries private
r1008 emit d_ptr->updatedBars();
Michal Klocek
Adds big fat pimpl to series classes...
r938 }
sauimone
better use of gradients in barcharts
r512 }
/*!
sauimone
Barchart value layout fix
r817 Returns the pen for values that are drawn on top of this set
sauimone
better use of gradients in barcharts
r512 */
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 QFont QBarSet::labelFont() const
sauimone
better use of gradients in barcharts
r512 {
Michal Klocek
Adds big fat pimpl to series classes...
r938 return d_ptr->m_labelFont;
sauimone
better use of gradients in barcharts
r512 }
Michal Klocek
Adds big fat pimpl to series classes...
r938 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sauimone
barset: unified insert/set/remove methods
r993 QBarSetPrivate::QBarSetPrivate(const QString name, QBarSet *parent) : QObject(parent),
Michal Klocek
Adds big fat pimpl to series classes...
r938 q_ptr(parent),
sauimone
removed barlabel. label visibility control is now per series instead of per set
r1246 m_name(name)
Michal Klocek
Adds big fat pimpl to series classes...
r938 {
}
QBarSetPrivate::~QBarSetPrivate()
{
}
sauimone
barset: selected is now private signal
r1017
sauimone
signals and slots for bars and sets
r239 #include "moc_qbarset.cpp"
Michal Klocek
Adds big fat pimpl to series classes...
r938 #include "moc_qbarset_p.cpp"
Tero Ahola
Code review: Fixed simple issues in Bar and Legend
r737
sauimone
proof of concept implementation for barset and barcategory
r169 QTCOMMERCIALCHART_END_NAMESPACE