From 2d31d2416643598b15664c766326f18c5b698c79 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 14 Jan 2014 10:08:28 +0200 Subject: Add series name property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Don't call updateScene for every render cycle +Fixed item label update when format or name changes +Misc cosmetic fixes Task-number: QTRD-2736 Task-number: QTRD-2571 Change-Id: I43aa6b8e3202b09529b17a22bb24d05fcb545609 Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qabstract3dseries.cpp | 21 +++++++++++++++++++++ src/datavisualization/data/qabstract3dseries.h | 6 ++++++ src/datavisualization/data/qabstract3dseries_p.h | 6 +++++- 3 files changed, 32 insertions(+), 1 deletion(-) (limited to 'src/datavisualization/data') diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 81a2f1b8..1aa4a46d 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -488,6 +488,19 @@ QLinearGradient QAbstract3DSeries::multiHighlightGradient() const return d_ptr->m_multiHighlightGradient; } +void QAbstract3DSeries::setName(const QString &name) +{ + if (d_ptr->m_name != name) { + d_ptr->setName(name); + emit nameChanged(name); + } +} + +QString QAbstract3DSeries::name() const +{ + return d_ptr->m_name; +} + // QAbstract3DSeriesPrivate QAbstract3DSeriesPrivate::QAbstract3DSeriesPrivate(QAbstract3DSeries *q, QAbstract3DSeries::SeriesType type) @@ -629,6 +642,14 @@ void QAbstract3DSeriesPrivate::setMultiHighlightGradient(const QLinearGradient & m_controller->markSeriesVisualsDirty(); } +void QAbstract3DSeriesPrivate::setName(const QString &name) +{ + m_name = name; + m_changeTracker.nameChanged = true; + if (m_controller) + m_controller->markSeriesVisualsDirty(); +} + void QAbstract3DSeriesPrivate::resetToTheme(const Q3DTheme &theme, int seriesIndex, bool force) { int themeIndex = seriesIndex; diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index b03b574d..bbcf60ad 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -47,6 +47,7 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DSeries : public QObject Q_PROPERTY(QLinearGradient singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged) Q_PROPERTY(QColor multiHighlightColor READ multiHighlightColor WRITE setMultiHighlightColor NOTIFY multiHighlightColorChanged) Q_PROPERTY(QLinearGradient multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) public: enum SeriesType { @@ -109,6 +110,9 @@ public: void setMultiHighlightGradient(const QLinearGradient &gradient); QLinearGradient multiHighlightGradient() const; + void setName(const QString &name); + QString name() const; + signals: void itemLabelFormatChanged(QString format); void visibilityChanged(bool visible); @@ -122,6 +126,7 @@ signals: void singleHighlightGradientChanged(QLinearGradient gradient); void multiHighlightColorChanged(QColor color); void multiHighlightGradientChanged(QLinearGradient gradient); + void nameChanged(QString name); protected: QScopedPointer d_ptr; @@ -135,6 +140,7 @@ private: friend class Scatter3DController; friend class QBar3DSeries; friend class SeriesRenderCache; + friend class Abstract3DRenderer; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index 7b2ea2e6..8e83ff84 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -50,6 +50,7 @@ struct QAbstract3DSeriesChangeBitField { bool singleHighlightGradientChanged : 1; bool multiHighlightColorChanged : 1; bool multiHighlightGradientChanged : 1; + bool nameChanged : 1; QAbstract3DSeriesChangeBitField() : itemLabelFormatChanged(true), @@ -62,7 +63,8 @@ struct QAbstract3DSeriesChangeBitField { singleHighlightColorChanged(true), singleHighlightGradientChanged(true), multiHighlightColorChanged(true), - multiHighlightGradientChanged(true) + multiHighlightGradientChanged(true), + nameChanged(true) { } }; @@ -113,6 +115,7 @@ public: void setSingleHighlightGradient(const QLinearGradient &gradient); void setMultiHighlightColor(const QColor &color); void setMultiHighlightGradient(const QLinearGradient &gradient); + void setName(const QString &name); void resetToTheme(const Q3DTheme &theme, int seriesIndex, bool force); @@ -136,6 +139,7 @@ public: QColor m_multiHighlightColor; QLinearGradient m_multiHighlightGradient; + QString m_name; }; QT_DATAVISUALIZATION_END_NAMESPACE -- cgit v1.2.3