summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-05-21 10:10:36 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-05-21 10:12:29 +0300
commitfdae1424df750bd02913b9ceec1716b1187b2ae7 (patch)
tree7a7e6448b5b0daa4f42162be6403016341b8103b /src/datavisualizationqml2
parent1fe989d12f8fe5c13675158044bb76551fb5eb0f (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.cpp7
-rw-r--r--src/datavisualizationqml2/abstractdeclarative_p.h15
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2_plugin.cpp3
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