diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-05-21 10:10:36 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-05-21 10:12:29 +0300 |
commit | fdae1424df750bd02913b9ceec1716b1187b2ae7 (patch) | |
tree | 7a7e6448b5b0daa4f42162be6403016341b8103b /src/datavisualizationqml2 | |
parent | 1fe989d12f8fe5c13675158044bb76551fb5eb0f (diff) |
Added enablers for axis dragging to QML
Task-number: QTRD-3003
Will add an example in a separate commit
Change-Id: I7fa9eb1b504d188c77b66ef8d4b2ee44416667e2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r-- | src/datavisualizationqml2/abstractdeclarative.cpp | 7 | ||||
-rw-r--r-- | src/datavisualizationqml2/abstractdeclarative_p.h | 15 | ||||
-rw-r--r-- | src/datavisualizationqml2/datavisualizationqml2_plugin.cpp | 3 |
3 files changed, 23 insertions, 2 deletions
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp index 47d3bb66..c09204da 100644 --- a/src/datavisualizationqml2/abstractdeclarative.cpp +++ b/src/datavisualizationqml2/abstractdeclarative.cpp @@ -309,7 +309,7 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller) QObject::connect(m_controller.data(), &Abstract3DController::selectionModeChanged, this, &AbstractDeclarative::handleSelectionModeChange); QObject::connect(m_controller.data(), &Abstract3DController::elementSelected, this, - &AbstractDeclarative::elementSelected); + &AbstractDeclarative::selectedElementChanged); QObject::connect(m_controller.data(), &Abstract3DController::axisXChanged, this, &AbstractDeclarative::handleAxisXChanged); @@ -682,6 +682,11 @@ bool AbstractDeclarative::isOrthoProjection() const return m_controller->isOrthoProjection(); } +AbstractDeclarative::ElementType AbstractDeclarative::selectedElement() const +{ + return ElementType(m_controller->selectedElement()); +} + void AbstractDeclarative::windowDestroyed(QObject *obj) { // Remove destroyed window from window lists diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h index 8095e87a..2cdcafc8 100644 --- a/src/datavisualizationqml2/abstractdeclarative_p.h +++ b/src/datavisualizationqml2/abstractdeclarative_p.h @@ -57,6 +57,7 @@ class AbstractDeclarative : public QQuickItem Q_OBJECT Q_ENUMS(ShadowQuality) Q_ENUMS(RenderingMode) + Q_ENUMS(ElementType) Q_FLAGS(SelectionFlag SelectionFlags) Q_PROPERTY(SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) Q_PROPERTY(ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) @@ -70,6 +71,7 @@ class AbstractDeclarative : public QQuickItem Q_PROPERTY(qreal currentFps READ currentFps NOTIFY currentFpsChanged REVISION 1) Q_PROPERTY(QQmlListProperty<QCustom3DItem> customItemList READ customItemList REVISION 1) Q_PROPERTY(bool orthoProjection READ isOrthoProjection WRITE setOrthoProjection NOTIFY orthoProjectionChanged REVISION 1) + Q_PROPERTY(ElementType selectedElement READ selectedElement NOTIFY selectedElementChanged REVISION 1) public: enum SelectionFlag { @@ -96,6 +98,15 @@ public: ShadowQualitySoftHigh }; + enum ElementType { + ElementNone = 0, + ElementSeries, + ElementAxisXLabel, + ElementAxisZLabel, + ElementAxisYLabel, + ElementCustomItem + }; + enum RenderingMode { RenderDirectToBackground = 0, RenderDirectToBackground_NoClear, @@ -168,6 +179,8 @@ public: void setOrthoProjection(bool enable); bool isOrthoProjection() const; + AbstractDeclarative::ElementType selectedElement() const; + public slots: virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0; virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0; @@ -199,7 +212,7 @@ signals: void renderingModeChanged(AbstractDeclarative::RenderingMode mode); Q_REVISION(1) void measureFpsChanged(bool enabled); Q_REVISION(1) void currentFpsChanged(qreal fps); - Q_REVISION(1) void elementSelected(QAbstract3DGraph::ElementType type); + Q_REVISION(1) void selectedElementChanged(QAbstract3DGraph::ElementType type); Q_REVISION(1) void orthoProjectionChanged(bool enabled); private: diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp index f90ffb4b..fd45bdca 100644 --- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp +++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp @@ -102,6 +102,9 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri) qmlRegisterType<QValue3DAxisFormatter>(uri, 1, 1, "ValueAxis3DFormatter"); qmlRegisterType<QLogValue3DAxisFormatter>(uri, 1, 1, "LogValueAxis3DFormatter"); qmlRegisterType<QCustom3DItem>(uri, 1, 1, "Custom3DItem"); + + // New metatypes + qRegisterMetaType<QAbstract3DGraph::ElementType>("QAbstract3DGraph::ElementType"); } QT_END_NAMESPACE_DATAVISUALIZATION |