summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-19 13:32:31 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-22 09:35:46 +0300
commit36bc54f5720bddb9899e64d665117ac1e1b5bc94 (patch)
tree71d903cacc81c7a664ce0e05a167791234f7cf62 /src/datavisualizationqml2
parent105e85170d35f7086dc96d1853298fcf8d680e06 (diff)
Allow setting the floor level on bar graphs.
Task-number: QTRD-3313 Change-Id: Ie0f8e36af8698081a6937c360043773da895b6e6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.cpp1
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp13
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h5
3 files changed, 19 insertions, 0 deletions
diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
index ecdd7454..a22fc55c 100644
--- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
+++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp
@@ -116,6 +116,7 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri)
qmlRegisterType<DeclarativeSurface, 1>(uri, 1, 2, "Surface3D");
qmlRegisterType<Q3DCamera, 1>(uri, 1, 2, "Camera3D");
qmlRegisterType<QCustom3DItem, 1>(uri, 1, 2, "Custom3DItem");
+ qmlRegisterType<DeclarativeBars, 1>(uri, 1, 2, "Bars3D");
// New types
qmlRegisterType<Q3DInputHandler>(uri, 1, 2, "InputHandler3D");
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index 9670a7db..61e6aafb 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -129,6 +129,19 @@ QBar3DSeries *DeclarativeBars::selectedSeries() const
return m_barsController->selectedSeries();
}
+void DeclarativeBars::setFloorLevel(float level)
+{
+ if (level != floorLevel()) {
+ m_barsController->setFloorLevel(level);
+ emit floorLevelChanged(level);
+ }
+}
+
+float DeclarativeBars::floorLevel() const
+{
+ return m_barsController->floorLevel();
+}
+
QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList()
{
return QQmlListProperty<QBar3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index 52690813..05d66cdc 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -48,6 +48,7 @@ class DeclarativeBars : public AbstractDeclarative
Q_PROPERTY(QQmlListProperty<QBar3DSeries> seriesList READ seriesList)
Q_PROPERTY(QBar3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QBar3DSeries *primarySeries READ primarySeries WRITE setPrimarySeries NOTIFY primarySeriesChanged)
+ Q_PROPERTY(float floorLevel READ floorLevel WRITE setFloorLevel NOTIFY floorLevelChanged REVISION 1)
Q_CLASSINFO("DefaultProperty", "seriesList")
public:
@@ -85,6 +86,9 @@ public:
QBar3DSeries *primarySeries() const;
QBar3DSeries *selectedSeries() const;
+ void setFloorLevel(float level);
+ float floorLevel() const;
+
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
void handleAxisYChanged(QAbstract3DAxis *axis);
@@ -101,6 +105,7 @@ signals:
void meshFileNameChanged(QString filename);
void primarySeriesChanged(QBar3DSeries *series);
void selectedSeriesChanged(QBar3DSeries *series);
+ Q_REVISION(1) void floorLevelChanged(float level);
private:
Bars3DController *m_barsController;