summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-09 08:29:11 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-09 10:36:34 +0200
commit997bc1f796938eb8347adfd79b6756ea8b2b3ab9 (patch)
tree774caa0e102ad2eaf9300571dfba2906ba95889c /src/datavisualization/engine
parent0144b397eff1340497ac2e599f7d9238bf99609c (diff)
Invalid point/selection as constant property in qml
Also fixed 0,0 QPoint -> QPointF conversion issue for Q3DScene Task-number: QTRD-2688 Change-Id: I3778081bb6ef2b5dbfcaad7502a4e164286c2646 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp7
-rw-r--r--src/datavisualization/engine/abstract3dcontroller_p.h2
-rw-r--r--src/datavisualization/engine/bars3dcontroller.cpp4
-rw-r--r--src/datavisualization/engine/bars3dcontroller_p.h2
-rw-r--r--src/datavisualization/engine/q3dscene.cpp12
-rw-r--r--src/datavisualization/engine/q3dscene.h2
-rw-r--r--src/datavisualization/engine/scatter3dcontroller.cpp4
-rw-r--r--src/datavisualization/engine/scatter3dcontroller_p.h2
-rw-r--r--src/datavisualization/engine/surface3dcontroller.cpp4
-rw-r--r--src/datavisualization/engine/surface3dcontroller_p.h2
10 files changed, 25 insertions, 16 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 09c75ceb..da2e2a14 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -35,12 +35,12 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-Abstract3DController::Abstract3DController(QRect initialViewport, QObject *parent) :
+Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) :
QObject(parent),
m_themeManager(new ThemeManager(this)),
m_selectionMode(QDataVis::SelectionItem),
m_shadowQuality(QDataVis::ShadowQualityMedium),
- m_scene(new Q3DScene()),
+ m_scene(scene),
m_activeInputHandler(0),
m_axisX(0),
m_axisY(0),
@@ -51,6 +51,9 @@ Abstract3DController::Abstract3DController(QRect initialViewport, QObject *paren
m_isSeriesVisualsDirty(true),
m_renderPending(false)
{
+ if (!m_scene)
+ m_scene = new Q3DScene;
+
// Set initial theme
setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt));
diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h
index 91083eb9..9c24844f 100644
--- a/src/datavisualization/engine/abstract3dcontroller_p.h
+++ b/src/datavisualization/engine/abstract3dcontroller_p.h
@@ -158,7 +158,7 @@ protected:
QList<QAbstract3DSeries *> m_seriesList;
- explicit Abstract3DController(QRect initialViewport, QObject *parent = 0);
+ explicit Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent = 0);
public:
virtual ~Abstract3DController();
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp
index 3efd890b..c765a37a 100644
--- a/src/datavisualization/engine/bars3dcontroller.cpp
+++ b/src/datavisualization/engine/bars3dcontroller.cpp
@@ -32,8 +32,8 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-Bars3DController::Bars3DController(QRect boundRect)
- : Abstract3DController(boundRect),
+Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene)
+ : Abstract3DController(boundRect, scene),
m_selectedBar(invalidSelectionPosition()),
m_selectedBarSeries(0),
m_isBarSpecRelative(true),
diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h
index 46fc991d..3fcae959 100644
--- a/src/datavisualization/engine/bars3dcontroller_p.h
+++ b/src/datavisualization/engine/bars3dcontroller_p.h
@@ -73,7 +73,7 @@ private:
Bars3DRenderer *m_renderer;
public:
- explicit Bars3DController(QRect rect);
+ explicit Bars3DController(QRect rect, Q3DScene *scene = 0);
~Bars3DController();
virtual void initializeOpenGL();
diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp
index d8104b3a..ce037b55 100644
--- a/src/datavisualization/engine/q3dscene.cpp
+++ b/src/datavisualization/engine/q3dscene.cpp
@@ -90,9 +90,9 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \qmlproperty point Scene3D::selectionQueryPosition
*
* This property contains the coordinates for the user input that should be processed
- * by the scene as selection. If this is set to value other than \c{(-1, -1)} the
+ * by the scene as selection. If this is set to value other than invalidSelectionPoint the
* graph tries to select a data item at the given point within the primary viewport.
- * After the rendering pass the property is returned to its default state of \c{(-1, -1)}.
+ * After the rendering pass the property is returned to its default state of invalidSelectionPoint.
*/
/*!
@@ -131,6 +131,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*/
/*!
+ * \qmlproperty point Scene3D::invalidSelectionPoint
+ * A constant property providing an invalid point for selection.
+ */
+
+
+/*!
* Constructs a basic scene with one light and one camera in it. An
* optional \a parent parameter can be given and is then passed to QObject constructor.
*/
@@ -272,7 +278,7 @@ QPoint Q3DScene::selectionQueryPosition() const
/*!
* \return a QPoint signifying an invalid selection position.
*/
-const QPoint Q3DScene::invalidSelectionPoint()
+QPoint Q3DScene::invalidSelectionPoint()
{
static const QPoint invalidSelectionPos(-1, -1);
return invalidSelectionPos;
diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h
index 27e09ab0..f57d3351 100644
--- a/src/datavisualization/engine/q3dscene.h
+++ b/src/datavisualization/engine/q3dscene.h
@@ -59,7 +59,7 @@ public:
void setSelectionQueryPosition(const QPoint &point);
QPoint selectionQueryPosition() const;
- static const QPoint invalidSelectionPoint();
+ static QPoint invalidSelectionPoint();
void setSlicingActive(bool isSlicing);
bool isSlicingActive() const;
diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp
index 61a95e88..58706705 100644
--- a/src/datavisualization/engine/scatter3dcontroller.cpp
+++ b/src/datavisualization/engine/scatter3dcontroller.cpp
@@ -29,8 +29,8 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-Scatter3DController::Scatter3DController(QRect boundRect)
- : Abstract3DController(boundRect),
+Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene)
+ : Abstract3DController(boundRect, scene),
m_renderer(0),
m_selectedItem(invalidSelectionIndex()),
m_selectedItemSeries(0)
diff --git a/src/datavisualization/engine/scatter3dcontroller_p.h b/src/datavisualization/engine/scatter3dcontroller_p.h
index 397d47a4..d484454d 100644
--- a/src/datavisualization/engine/scatter3dcontroller_p.h
+++ b/src/datavisualization/engine/scatter3dcontroller_p.h
@@ -63,7 +63,7 @@ private:
// in single series selection cases.
public:
- explicit Scatter3DController(QRect rect);
+ explicit Scatter3DController(QRect rect, Q3DScene *scene = 0);
~Scatter3DController();
virtual void initializeOpenGL();
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp
index 6082e105..7c7b7a90 100644
--- a/src/datavisualization/engine/surface3dcontroller.cpp
+++ b/src/datavisualization/engine/surface3dcontroller.cpp
@@ -32,8 +32,8 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-Surface3DController::Surface3DController(QRect rect)
- : Abstract3DController(rect),
+Surface3DController::Surface3DController(QRect rect, Q3DScene *scene)
+ : Abstract3DController(rect, scene),
m_renderer(0),
m_selectedPoint(invalidSelectionPosition()),
m_selectedSeries(0),
diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h
index 54d709b4..915a3122 100644
--- a/src/datavisualization/engine/surface3dcontroller_p.h
+++ b/src/datavisualization/engine/surface3dcontroller_p.h
@@ -70,7 +70,7 @@ private:
QVector<int> m_changedRows;
public:
- explicit Surface3DController(QRect rect);
+ explicit Surface3DController(QRect rect, Q3DScene *scene = 0);
~Surface3DController();
virtual void initializeOpenGL();