qaxis.cpp
536 lines
| 10.4 KiB
| text/x-c
|
CppLexer
Jani Honkonen
|
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$ | ||||
** | ||||
****************************************************************************/ | ||||
Michal Klocek
|
r1006 | #include "qaxis.h" | ||
#include "qaxis_p.h" | ||||
Michal Klocek
|
r72 | |||
Michal Klocek
|
r85 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||
Michal Klocek
|
r331 | /*! | ||
Marek Rosa
|
r1019 | \class QAxis | ||
Jani Honkonen
|
r1023 | \brief The QAxis class is used for manipulating chart's axis | ||
Michal Klocek
|
r331 | 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 share common X axis. | ||||
Axis can be setup to show axis line with ticks, gird lines and shades. | ||||
*/ | ||||
Jani Honkonen
|
r1350 | /*! | ||
\property QAxis::labelsVisible | ||||
Defines if axis labels are visible. | ||||
*/ | ||||
/*! | ||||
\property QAxis::min | ||||
Defines the minimum value on the axis. | ||||
*/ | ||||
/*! | ||||
\property QAxis::max | ||||
Defines the maximum value on the axis. | ||||
*/ | ||||
Michal Klocek
|
r333 | /*! | ||
Michal Klocek
|
r1006 | \fn bool QAxis::isAxisVisible() const | ||
Michal Klocek
|
r333 | \brief Returns if axis is visible | ||
\sa setAxisVisible() | ||||
*/ | ||||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r1006 | \fn QPen QAxis::axisPen() const | ||
Michal Klocek
|
r331 | \brief Returns pen used to draw axis and ticks. | ||
\sa setAxisPen() | ||||
*/ | ||||
Michal Klocek
|
r333 | |||
/*! | ||||
Michal Klocek
|
r1006 | \fn bool QAxis::isGridLineVisible() const | ||
Michal Klocek
|
r333 | \brief Returns if grid is visible | ||
Michal Klocek
|
r535 | \sa setGridLineVisible() | ||
Michal Klocek
|
r333 | */ | ||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r1006 | \fn QPen QAxis::gridLinePen() const | ||
Michal Klocek
|
r331 | \brief Returns pen used to draw grid. | ||
Michal Klocek
|
r551 | \sa setGridLinePen() | ||
Michal Klocek
|
r331 | */ | ||
/*! | ||||
Michal Klocek
|
r1006 | \fn QPen QAxis::labelsPen() const | ||
Michal Klocek
|
r333 | \brief Returns the pen used to labels. | ||
Michal Klocek
|
r331 | \sa setLabelsPen() | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn QBrush QAxis::labelsBrush() const | ||
Michal Klocek
|
r333 | \brief Returns brush used to draw labels. | ||
Michal Klocek
|
r331 | \sa setLabelsBrush() | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn QFont QAxis::labelsFont() const | ||
Michal Klocek
|
r333 | \brief Returns font used to draw labels. | ||
Michal Klocek
|
r331 | \sa setLabelsFont() | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn QFont QAxis::labelsAngle() const | ||
Michal Klocek
|
r333 | \brief Returns angle used to draw labels. | ||
Michal Klocek
|
r331 | \sa setLabelsAngle() | ||
*/ | ||||
Michal Klocek
|
r333 | /*! | ||
Michal Klocek
|
r1006 | \fn bool QAxis::shadesVisible() const | ||
Michal Klocek
|
r333 | \brief Returns if shades are visible. | ||
\sa setShadesVisible() | ||||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn qreal QAxis::shadesOpacity() const | ||
Michal Klocek
|
r333 | \brief Returns opacity of shades. | ||
*/ | ||||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r1006 | \fn QPen QAxis::shadesPen() const | ||
Michal Klocek
|
r333 | \brief Returns pen used to draw shades. | ||
Michal Klocek
|
r331 | \sa setShadesPen() | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn QBrush QAxis::shadesBrush() const | ||
Michal Klocek
|
r333 | \brief Returns brush used to draw shades. | ||
Michal Klocek
|
r331 | \sa setShadesBrush() | ||
*/ | ||||
Michal Klocek
|
r333 | /*! | ||
Michal Klocek
|
r1006 | \fn qreal QAxis::min() const | ||
Michal Klocek
|
r333 | \brief Returns minimum value on the axis. | ||
\sa setMin() | ||||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn qreal QAxis::max() const | ||
Michal Klocek
|
r333 | \brief Returns maximim value on the axis. | ||
\sa setMax() | ||||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn void QAxis::minChanged(qreal min) | ||
Michal Klocek
|
r333 | \brief Axis emits signal when \a min of axis has changed. | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn void QAxis::maxChanged(qreal max) | ||
Michal Klocek
|
r333 | \brief Axis emits signal when \a max of axis has changed. | ||
*/ | ||||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r1006 | \fn void QAxis::rangeChanged(qreal min, qreal max) | ||
Michal Klocek
|
r439 | \brief Axis emits signal when \a min or \a max of axis has changed. | ||
Michal Klocek
|
r331 | */ | ||
/*! | ||||
Michal Klocek
|
r1006 | \fn int QAxis::ticksCount() const | ||
Michal Klocek
|
r439 | \brief Return number of ticks on the axis | ||
\sa setTicksCount() | ||||
Michal Klocek
|
r331 | */ | ||
Marek Rosa
|
r936 | /*! | ||
Michal Klocek
|
r1006 | \fn QChartAxisCategories* QAxis::categories() | ||
Marek Rosa
|
r936 | \brief Returns pointer to the list of categories which correspond to the values on the axis. | ||
*/ | ||||
/*! | ||||
Michal Klocek
|
r1006 | \fn void QAxis::ticksCountChanged(int count) | ||
Marek Rosa
|
r936 | \brief Emits the new \a count of ticks on the axis | ||
Signal is emitted when the number of the ticks on the axis has been changed to a different value. | ||||
Parementer count\a count is the new number of ticks on the axis. | ||||
*/ | ||||
Michal Klocek
|
r331 | /*! | ||
Constructs new axis object which is a child of \a parent. Ownership is taken by | ||||
Jani Honkonen
|
r1023 | QChart when axis added. | ||
Michal Klocek
|
r331 | */ | ||
Michal Klocek
|
r1006 | QAxis::QAxis(QObject *parent) : QObject(parent), | ||
d_ptr(new QAxisPrivate(this)) | ||||
Michal Klocek
|
r72 | { | ||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Destructor of the axis object. When axis is added to chart, chart object takes ownership. | ||||
*/ | ||||
Michal Klocek
|
r1006 | QAxis::~QAxis() | ||
Michal Klocek
|
r72 | { | ||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a pen used to draw axis line and ticks. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setAxisPen(const QPen &pen) | ||
Michal Klocek
|
r140 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_axisPen!=pen) { | ||
d_ptr->m_axisPen = pen; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r140 | } | ||
Michal Klocek
|
r1006 | QPen QAxis::axisPen() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_axisPen; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets if axis and ticks are \a visible. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setAxisVisible(bool visible) | ||
Michal Klocek
|
r85 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_axisVisible != visible) { | ||
d_ptr->m_axisVisible = visible; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r85 | } | ||
Michal Klocek
|
r1006 | bool QAxis::isAxisVisible() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_axisVisible; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r535 | Sets if grid line is \a visible. | ||
Michal Klocek
|
r331 | */ | ||
Michal Klocek
|
r1006 | void QAxis::setGridLineVisible(bool visible) | ||
Michal Klocek
|
r85 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_gridLineVisible != visible) { | ||
d_ptr->m_gridLineVisible = visible; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | bool QAxis::isGridLineVisible() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_gridLineVisible; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Michal Klocek
|
r535 | Sets \a pen used to draw grid line. | ||
Michal Klocek
|
r331 | */ | ||
Michal Klocek
|
r1006 | void QAxis::setGridLinePen(const QPen &pen) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_gridLinePen != pen) { | ||
d_ptr->m_gridLinePen = pen; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r85 | } | ||
Michal Klocek
|
r1006 | QPen QAxis::gridLinePen() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_gridLinePen; | ||||
} | ||||
Michal Klocek
|
r1006 | void QAxis::setLabelsVisible(bool visible) | ||
Michal Klocek
|
r85 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_labelsVisible != visible) { | ||
d_ptr->m_labelsVisible = visible; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r85 | } | ||
Michal Klocek
|
r1006 | bool QAxis::labelsVisible() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_labelsVisible; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a pen used to draw labels. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setLabelsPen(const QPen &pen) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_labelsPen != pen) { | ||
d_ptr->m_labelsPen = pen; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | QPen QAxis::labelsPen() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_labelsPen; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a brush used to draw labels. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setLabelsBrush(const QBrush &brush) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_labelsBrush != brush) { | ||
d_ptr->m_labelsBrush = brush; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | QBrush QAxis::labelsBrush() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_labelsBrush; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a font used to draw labels. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setLabelsFont(const QFont &font) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_labelsFont != font) { | ||
d_ptr->m_labelsFont = font; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | QFont QAxis::labelsFont() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_labelsFont; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a angle for all the labels on given axis. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setLabelsAngle(int angle) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_labelsAngle != angle) { | ||
d_ptr->m_labelsAngle = angle; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | int QAxis::labelsAngle() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_labelsAngle; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets if shades are \a visible. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setShadesVisible(bool visible) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_shadesVisible != visible) { | ||
d_ptr->m_shadesVisible = visible; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | bool QAxis::shadesVisible() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_shadesVisible; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a pen used to draw shades. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setShadesPen(const QPen &pen) | ||
Michal Klocek
|
r176 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_shadesPen != pen) { | ||
d_ptr->m_shadesPen = pen; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r176 | } | ||
Michal Klocek
|
r1006 | QPen QAxis::shadesPen() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_shadesPen; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a brush used to draw shades. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setShadesBrush(const QBrush &brush) | ||
Michal Klocek
|
r85 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_shadesBrush != brush) { | ||
d_ptr->m_shadesBrush = brush; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r85 | } | ||
Michal Klocek
|
r1006 | QBrush QAxis::shadesBrush() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_shadesBrush; | ||||
} | ||||
Michal Klocek
|
r331 | /*! | ||
Sets \a opacity of the shades. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setShadesOpacity(qreal opacity) | ||
Michal Klocek
|
r188 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_shadesOpacity != opacity) { | ||
d_ptr->m_shadesOpacity=opacity; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r188 | } | ||
Michal Klocek
|
r85 | |||
Michal Klocek
|
r1006 | qreal QAxis::shadesOpacity() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_shadesOpacity; | ||||
} | ||||
Michal Klocek
|
r1006 | void QAxis::setMin(qreal min) | ||
Michal Klocek
|
r223 | { | ||
Michal Klocek
|
r963 | setRange(min,d_ptr->m_max); | ||
} | ||||
Michal Klocek
|
r1006 | qreal QAxis::min() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_min; | ||||
Michal Klocek
|
r223 | } | ||
Michal Klocek
|
r1006 | void QAxis::setMax(qreal max) | ||
Michal Klocek
|
r223 | { | ||
Michal Klocek
|
r963 | setRange(d_ptr->m_min,max); | ||
} | ||||
Michal Klocek
|
r1006 | qreal QAxis::max() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_max; | ||||
Michal Klocek
|
r223 | } | ||
Michal Klocek
|
r331 | /*! | ||
Sets range from \a min to \a max on the axis. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setRange(qreal min, qreal max) | ||
Michal Klocek
|
r223 | { | ||
Michal Klocek
|
r439 | bool changed = false; | ||
Michal Klocek
|
r963 | if (!qFuzzyIsNull(d_ptr->m_min - min)) { | ||
d_ptr->m_min = min; | ||||
sauimone
|
r759 | changed = true; | ||
Michal Klocek
|
r439 | emit minChanged(min); | ||
} | ||||
Michal Klocek
|
r400 | |||
Michal Klocek
|
r963 | if (!qFuzzyIsNull(d_ptr->m_max - max)) { | ||
d_ptr->m_max = max; | ||||
sauimone
|
r759 | changed = true; | ||
Michal Klocek
|
r400 | emit maxChanged(max); | ||
} | ||||
sauimone
|
r759 | if (changed) { | ||
Michal Klocek
|
r963 | 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); | ||||
Michal Klocek
|
r442 | } | ||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r400 | |||
Michal Klocek
|
r331 | /*! | ||
Sets \a count for ticks on the axis. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setTicksCount(int count) | ||
Michal Klocek
|
r223 | { | ||
Michal Klocek
|
r963 | if (d_ptr->m_ticksCount != count) { | ||
d_ptr->m_ticksCount = count; | ||||
Michal Klocek
|
r554 | emit ticksCountChanged(count); | ||
Michal Klocek
|
r963 | emit d_ptr->changed(d_ptr->m_min, d_ptr->m_max, d_ptr->m_ticksCount, d_ptr->m_niceNumbers); | ||
Michal Klocek
|
r439 | } | ||
Michal Klocek
|
r223 | } | ||
Michal Klocek
|
r1006 | int QAxis::ticksCount() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_ticksCount; | ||||
} | ||||
Michal Klocek
|
r534 | /*! | ||
Sets axis, shades, labels and grid lines to be visible. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::show() | ||
Michal Klocek
|
r534 | { | ||
Michal Klocek
|
r963 | d_ptr->m_axisVisible=true; | ||
d_ptr->m_gridLineVisible=true; | ||||
d_ptr->m_labelsVisible=true; | ||||
d_ptr->m_shadesVisible=true; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r534 | } | ||
/*! | ||||
Sets axis, shades, labels and grid lines to not be visible. | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::hide() | ||
Michal Klocek
|
r534 | { | ||
Michal Klocek
|
r963 | d_ptr->m_axisVisible = false; | ||
d_ptr->m_gridLineVisible = false; | ||||
d_ptr->m_labelsVisible = false; | ||||
d_ptr->m_shadesVisible = false; | ||||
emit d_ptr->updated(); | ||||
Michal Klocek
|
r554 | } | ||
Marek Rosa
|
r936 | /*! | ||
Sets the nice numbers state to \a enable | ||||
*/ | ||||
Michal Klocek
|
r1006 | void QAxis::setNiceNumbersEnabled(bool enable) | ||
Michal Klocek
|
r554 | { | ||
Michal Klocek
|
r963 | 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); | ||||
Michal Klocek
|
r678 | } | ||
Michal Klocek
|
r554 | } | ||
Tero Ahola
|
r987 | /*! | ||
Returns whether nice numbers are enabled or not. | ||||
*/ | ||||
Michal Klocek
|
r1006 | bool QAxis::niceNumbersEnabled() const | ||
Michal Klocek
|
r963 | { | ||
return d_ptr->m_niceNumbers; | ||||
} | ||||
Michal Klocek
|
r1032 | QAxisCategories* QAxis::categories() | ||
Michal Klocek
|
r963 | { | ||
return &d_ptr->m_category; | ||||
} | ||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
Michal Klocek
|
r1006 | QAxisPrivate::QAxisPrivate(QAxis* q): | ||
Michal Klocek
|
r963 | q_ptr(q), | ||
m_axisVisible(true), | ||||
m_gridLineVisible(true), | ||||
m_labelsVisible(true), | ||||
m_labelsAngle(0), | ||||
m_shadesVisible(false), | ||||
m_shadesOpacity(1.0), | ||||
m_min(0), | ||||
m_max(0), | ||||
m_ticksCount(5), | ||||
m_niceNumbers(false) | ||||
{ | ||||
} | ||||
Michal Klocek
|
r1006 | QAxisPrivate::~QAxisPrivate() | ||
Michal Klocek
|
r963 | { | ||
} | ||||
Michal Klocek
|
r1006 | void QAxisPrivate::handleAxisRangeChanged(qreal min, qreal max,int count) | ||
Michal Klocek
|
r963 | { | ||
q_ptr->setRange(min,max); | ||||
q_ptr->setTicksCount(count); | ||||
} | ||||
Michal Klocek
|
r1006 | #include "moc_qaxis.cpp" | ||
#include "moc_qaxis_p.cpp" | ||||
Michal Klocek
|
r223 | |||
Michal Klocek
|
r85 | QTCOMMERCIALCHART_END_NAMESPACE | ||