@@ -57,6 +57,11 void AxisAnimation::setValues(QVector<qreal> &oldLayout, QVector<qreal> &newLayo | |||
|
57 | 57 | { |
|
58 | 58 | if (state() != QAbstractAnimation::Stopped) stop(); |
|
59 | 59 | |
|
60 | // TODO: cannot return even if layout is empty | |
|
61 | // New layout is not set properly without it (crash) | |
|
62 | // if (newLayout.count() == 0) | |
|
63 | // return; | |
|
64 | ||
|
60 | 65 | switch (m_type) { |
|
61 | 66 | case ZoomOutAnimation: { |
|
62 | 67 | QRectF rect = m_axis->gridGeometry(); |
@@ -125,6 +130,7 void AxisAnimation::updateCurrentValue(const QVariant &value) | |||
|
125 | 130 | { |
|
126 | 131 | if (state() != QAbstractAnimation::Stopped) { //workaround |
|
127 | 132 | QVector<qreal> vector = qvariant_cast<QVector<qreal> >(value); |
|
133 | // Q_ASSERT(vector.count() != 0); | |
|
128 | 134 | m_axis->setLayout(vector); |
|
129 | 135 | m_axis->updateGeometry(); |
|
130 | 136 | } |
@@ -31,6 +31,8 | |||
|
31 | 31 | |
|
32 | 32 | QTCOMMERCIALCHART_BEGIN_NAMESPACE |
|
33 | 33 | |
|
34 | //TODO: optimize : remove points which are not visible | |
|
35 | ||
|
34 | 36 | AreaChartItem::AreaChartItem(QAreaSeries *areaSeries, QGraphicsItem* item) |
|
35 | 37 | : ChartItem(areaSeries->d_func(),item), |
|
36 | 38 | m_series(areaSeries), |
@@ -248,6 +248,7 void QBarCategoryAxis::remove(const QString &category) | |||
|
248 | 248 | setRange(d->m_minCategory, d->m_categories.last()); |
|
249 | 249 | } else { |
|
250 | 250 | d->updateCategoryDomain(); |
|
251 | //TODO:: d->emitUpdated(); | |
|
251 | 252 | } |
|
252 | 253 | } else { |
|
253 | 254 | setRange(QString::null, QString::null); |
@@ -281,6 +282,7 void QBarCategoryAxis::insert(int index, const QString &category) | |||
|
281 | 282 | setRange(d->m_minCategory, d->m_categories.last()); |
|
282 | 283 | } else { |
|
283 | 284 | d->updateCategoryDomain(); |
|
285 | //TODO:: d->emitUpdated(); | |
|
284 | 286 | } |
|
285 | 287 | |
|
286 | 288 | emit categoriesChanged(); |
@@ -304,6 +306,8 void QBarCategoryAxis::replace(const QString &oldCategory, const QString &newCat | |||
|
304 | 306 | setRange(newCategory, d->m_maxCategory); |
|
305 | 307 | } else if (d->m_maxCategory == oldCategory) { |
|
306 | 308 | setRange(d->m_minCategory, newCategory); |
|
309 | } else { | |
|
310 | //TODO:: d->emitUpdated(); | |
|
307 | 311 | } |
|
308 | 312 | emit categoriesChanged(); |
|
309 | 313 | emit countChanged(); |
@@ -67,6 +67,7 QVector<qreal> ChartCategoryAxisX::calculateLayout() const | |||
|
67 | 67 | |
|
68 | 68 | void ChartCategoryAxisX::updateGeometry() |
|
69 | 69 | { |
|
70 | //TODO: this is not optimal when many categories :( , create only visible lables | |
|
70 | 71 | setLabels(m_axis->categoriesLabels() << ""); |
|
71 | 72 | HorizontalAxis::updateGeometry(); |
|
72 | 73 | } |
@@ -227,6 +227,7 void QCategoryAxis::remove(const QString &categoryLabel) | |||
|
227 | 227 | d->m_categoriesMap.insert(label, range); |
|
228 | 228 | } |
|
229 | 229 | } |
|
230 | //TODO:: d->emitUpdated(); | |
|
230 | 231 | } |
|
231 | 232 | } |
|
232 | 233 | |
@@ -250,6 +251,7 void QCategoryAxis::replaceLabel(const QString &oldLabel, const QString &newLabe | |||
|
250 | 251 | Range range = d->m_categoriesMap.value(oldLabel); |
|
251 | 252 | d->m_categoriesMap.remove(oldLabel); |
|
252 | 253 | d->m_categoriesMap.insert(newLabel, range); |
|
254 | //TODO:: d->emitUpdated(); | |
|
253 | 255 | } |
|
254 | 256 | } |
|
255 | 257 |
@@ -468,6 +468,7 QPen QAbstractAxis::linePen() const | |||
|
468 | 468 | return d_ptr->m_axisPen; |
|
469 | 469 | } |
|
470 | 470 | |
|
471 | //TODO: remove me 2.0 | |
|
471 | 472 | void QAbstractAxis::setLinePenColor(QColor color) |
|
472 | 473 | { |
|
473 | 474 | QPen p = d_ptr->m_axisPen; |
@@ -613,6 +614,7 int QAbstractAxis::labelsAngle() const | |||
|
613 | 614 | { |
|
614 | 615 | return d_ptr->m_labelsAngle; |
|
615 | 616 | } |
|
617 | //TODO: remove me 2.0 | |
|
616 | 618 | void QAbstractAxis::setLabelsColor(QColor color) |
|
617 | 619 | { |
|
618 | 620 | QBrush b = d_ptr->m_labelsBrush; |
@@ -861,6 +863,8 void QAbstractAxis::setRange(const QVariant &min, const QVariant &max) | |||
|
861 | 863 | /*! |
|
862 | 864 | Returns the orientation in which the axis is being used (Vertical or Horizontal) |
|
863 | 865 | */ |
|
866 | // NOTE: should have const but it breaks BC: | |
|
867 | // http://techbase.kde.org/Policies/Binary_Compatibility_Examples#Change_the_CV-qualifiers_of_a_member_function | |
|
864 | 868 | Qt::Orientation QAbstractAxis::orientation() |
|
865 | 869 | { |
|
866 | 870 | return d_ptr->orientation(); |
@@ -922,6 +926,7 void QAbstractAxisPrivate::initializeTheme(ChartTheme* theme, bool forced) | |||
|
922 | 926 | |
|
923 | 927 | bool axisX = m_orientation == Qt::Horizontal; |
|
924 | 928 | |
|
929 | //TODO: introduce axis brush | |
|
925 | 930 | if (m_visible) { |
|
926 | 931 | if (m_arrowVisible) { |
|
927 | 932 | if (forced || pen == m_axisPen) { |
@@ -145,7 +145,7 public: | |||
|
145 | 145 | void setShadesBorderColor(QColor color); |
|
146 | 146 | QColor shadesBorderColor() const; |
|
147 | 147 | |
|
148 | Qt::Orientation orientation(); | |
|
148 | Qt::Orientation orientation(); //TODO: missing const <- BC (2.0) | |
|
149 | 149 | Qt::Alignment alignment() const; |
|
150 | 150 | |
|
151 | 151 | //range handling |
@@ -60,6 +60,7 public: | |||
|
60 | 60 | void setLabelFormat(const QString &format); |
|
61 | 61 | QString labelFormat() const; |
|
62 | 62 | |
|
63 | //TODO: deprecated! (2.0) | |
|
63 | 64 | void setNiceNumbersEnabled(bool enable = true); |
|
64 | 65 | bool niceNumbersEnabled() const; |
|
65 | 66 |
@@ -61,7 +61,7 private: | |||
|
61 | 61 | int m_tickCount; |
|
62 | 62 | QString m_format; |
|
63 | 63 | bool m_applying; |
|
64 | bool m_niceNumbersEnabled; | |
|
64 | bool m_niceNumbersEnabled; //TODO: this deprecated (2.0) | |
|
65 | 65 | Q_DECLARE_PUBLIC(QValueAxis) |
|
66 | 66 | }; |
|
67 | 67 |
@@ -124,6 +124,7 public: | |||
|
124 | 124 | |
|
125 | 125 | void startAnimation(ChartAnimation *animation); |
|
126 | 126 | |
|
127 | //TODO refactor | |
|
127 | 128 | void setState(State state,QPointF point); |
|
128 | 129 | State state() const { return m_state; } |
|
129 | 130 | QPointF statePoint() const { return m_statePoint; } |
@@ -183,6 +183,9 QList<QGradient> ChartThemeManager::generateSeriesGradients(const QList<QColor>& | |||
|
183 | 183 | qreal h = color.hsvHueF(); |
|
184 | 184 | qreal s = color.hsvSaturationF(); |
|
185 | 185 | |
|
186 | // TODO: tune the algorithm to give nice results with most base colors defined in | |
|
187 | // most themes. The rest of the gradients we can define manually in theme specific | |
|
188 | // implementation. | |
|
186 | 189 | QColor start = color; |
|
187 | 190 | start.setHsvF(h, 0.0, 1.0); |
|
188 | 191 | g.setColorAt(0.0, start); |
@@ -39,6 +39,7 | |||
|
39 | 39 | |
|
40 | 40 | QTCOMMERCIALCHART_BEGIN_NAMESPACE |
|
41 | 41 | |
|
42 | // TODO: check these | |
|
42 | 43 | class QAbstractSeries; |
|
43 | 44 | class QAreaSeries; |
|
44 | 45 | class QXYSeries; |
@@ -447,6 +447,15 QRectF QChart::plotArea() const | |||
|
447 | 447 | return d_ptr->m_presenter->geometry(); |
|
448 | 448 | } |
|
449 | 449 | |
|
450 | ///*! | |
|
451 | // TODO: Dummy. | |
|
452 | // Adjust the ranges of the axes so that all the data of the specified \a series is visible | |
|
453 | // */ | |
|
454 | //void QChart::adjustViewToSeries(QAbstractSeries* series) | |
|
455 | //{ | |
|
456 | // // | |
|
457 | //} | |
|
458 | ||
|
450 | 459 | /*! |
|
451 | 460 | Sets animation \a options for the chart |
|
452 | 461 | */ |
General Comments 0
You need to be logged in to leave comments.
Login now