summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativeseries_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-09 10:49:49 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-12-10 09:01:45 +0200
commit3573055abe42ff283d011d8550bc8495156338a1 (patch)
treebb45d4f7e32a0c63329d9f52639081162b34e17e /src/datavisualizationqml2/declarativeseries_p.h
parent22557b312570cbefde584466a28f2b9bfcc570ba (diff)
Move series specific visual elements to series, part 4
Colors to series - Multiselection labels in bar slices still buggy - Selection in bars doesn't work correctly if not all series have items in that grid Task-number: QTRD-2557 Change-Id: Icd38428e5337a26b8410476104bb1f1f784cdc7f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2/declarativeseries_p.h')
-rw-r--r--src/datavisualizationqml2/declarativeseries_p.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/datavisualizationqml2/declarativeseries_p.h b/src/datavisualizationqml2/declarativeseries_p.h
index 6f5885c3..c9c3dc7a 100644
--- a/src/datavisualizationqml2/declarativeseries_p.h
+++ b/src/datavisualizationqml2/declarativeseries_p.h
@@ -33,10 +33,17 @@
#include "qbar3dseries.h"
#include "qscatter3dseries.h"
#include "qsurface3dseries.h"
+#include "colorgradient_p.h"
#include <QQmlListProperty>
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
+enum GradientType {
+ GradientTypeBase,
+ GradientTypeSingle,
+ GradientTypeMulti
+};
+
class DeclarativeBar3DSeries : public QBar3DSeries
{
Q_OBJECT
@@ -44,6 +51,9 @@ class DeclarativeBar3DSeries : public QBar3DSeries
// selectedBar property is overloaded to use QPointF instead of QPoint to work around qml bug
// where Qt.point(0, 0) can't be assigned due to error "Cannot assign QPointF to QPoint".
Q_PROPERTY(QPointF selectedBar READ selectedBar WRITE setSelectedBar NOTIFY selectedBarChanged)
+ Q_PROPERTY(ColorGradient *baseGradient READ baseGradient WRITE setBaseGradient NOTIFY baseGradientChanged)
+ Q_PROPERTY(ColorGradient *singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged)
+ Q_PROPERTY(ColorGradient *multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
DeclarativeBar3DSeries(QObject *parent = 0);
@@ -56,14 +66,37 @@ public:
QPointF selectedBar() const;
Q_INVOKABLE QPointF invalidSelectionPosition() const;
+ void setBaseGradient(ColorGradient *gradient);
+ ColorGradient *baseGradient() const;
+ void setSingleHighlightGradient(ColorGradient *gradient);
+ ColorGradient *singleHighlightGradient() const;
+ void setMultiHighlightGradient(ColorGradient *gradient);
+ ColorGradient *multiHighlightGradient() const;
+
+public slots:
+ void handleBaseGradientUpdate();
+ void handleSingleHighlightGradientUpdate();
+ void handleMultiHighlightGradientUpdate();
+
signals:
void selectedBarChanged(QPointF position);
+ void baseGradientChanged(ColorGradient *gradient);
+ void singleHighlightGradientChanged(ColorGradient *gradient);
+ void multiHighlightGradientChanged(ColorGradient *gradient);
+
+private:
+ ColorGradient *m_baseGradient; // Not owned
+ ColorGradient *m_singleHighlightGradient; // Not owned
+ ColorGradient *m_multiHighlightGradient; // Not owned
};
class DeclarativeScatter3DSeries : public QScatter3DSeries
{
Q_OBJECT
Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+ Q_PROPERTY(ColorGradient *baseGradient READ baseGradient WRITE setBaseGradient NOTIFY baseGradientChanged)
+ Q_PROPERTY(ColorGradient *singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged)
+ Q_PROPERTY(ColorGradient *multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
DeclarativeScatter3DSeries(QObject *parent = 0);
@@ -71,6 +104,28 @@ public:
QQmlListProperty<QObject> seriesChildren();
static void appendSeriesChildren(QQmlListProperty<QObject> *list, QObject *element);
+
+ void setBaseGradient(ColorGradient *gradient);
+ ColorGradient *baseGradient() const;
+ void setSingleHighlightGradient(ColorGradient *gradient);
+ ColorGradient *singleHighlightGradient() const;
+ void setMultiHighlightGradient(ColorGradient *gradient);
+ ColorGradient *multiHighlightGradient() const;
+
+public slots:
+ void handleBaseGradientUpdate();
+ void handleSingleHighlightGradientUpdate();
+ void handleMultiHighlightGradientUpdate();
+
+signals:
+ void baseGradientChanged(ColorGradient *gradient);
+ void singleHighlightGradientChanged(ColorGradient *gradient);
+ void multiHighlightGradientChanged(ColorGradient *gradient);
+
+private:
+ ColorGradient *m_baseGradient; // Not owned
+ ColorGradient *m_singleHighlightGradient; // Not owned
+ ColorGradient *m_multiHighlightGradient; // Not owned
};
class DeclarativeSurface3DSeries : public QSurface3DSeries
@@ -78,6 +133,9 @@ class DeclarativeSurface3DSeries : public QSurface3DSeries
Q_OBJECT
Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
Q_PROPERTY(QPointF selectedPoint READ selectedPoint WRITE setSelectedPoint NOTIFY selectedPointChanged)
+ Q_PROPERTY(ColorGradient *baseGradient READ baseGradient WRITE setBaseGradient NOTIFY baseGradientChanged)
+ Q_PROPERTY(ColorGradient *singleHighlightGradient READ singleHighlightGradient WRITE setSingleHighlightGradient NOTIFY singleHighlightGradientChanged)
+ Q_PROPERTY(ColorGradient *multiHighlightGradient READ multiHighlightGradient WRITE setMultiHighlightGradient NOTIFY multiHighlightGradientChanged)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
DeclarativeSurface3DSeries(QObject *parent = 0);
@@ -90,8 +148,28 @@ public:
QQmlListProperty<QObject> seriesChildren();
static void appendSeriesChildren(QQmlListProperty<QObject> *list, QObject *element);
+ void setBaseGradient(ColorGradient *gradient);
+ ColorGradient *baseGradient() const;
+ void setSingleHighlightGradient(ColorGradient *gradient);
+ ColorGradient *singleHighlightGradient() const;
+ void setMultiHighlightGradient(ColorGradient *gradient);
+ ColorGradient *multiHighlightGradient() const;
+
+public slots:
+ void handleBaseGradientUpdate();
+ void handleSingleHighlightGradientUpdate();
+ void handleMultiHighlightGradientUpdate();
+
signals:
void selectedPointChanged(QPointF position);
+ void baseGradientChanged(ColorGradient *gradient);
+ void singleHighlightGradientChanged(ColorGradient *gradient);
+ void multiHighlightGradientChanged(ColorGradient *gradient);
+
+private:
+ ColorGradient *m_baseGradient; // Not owned
+ ColorGradient *m_singleHighlightGradient; // Not owned
+ ColorGradient *m_multiHighlightGradient; // Not owned
};
QT_DATAVISUALIZATION_END_NAMESPACE