summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-07-04 12:14:13 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-07-04 12:55:05 +0300
commit1b311517f8889e6faa8a1ae51af582c1cd07e739 (patch)
treed1b023e36b5c7ddd67368007bb64c4b8551c480b /src/datavisualization/engine/abstract3dcontroller.cpp
parent9c3b9fb2d8f07b2b3f2e5bc84653711043c9936c (diff)
Exposed default input handlers to QML
Also added properties to control rotation, zoom, and selection individually. Also added missing documentation about surface texture. Task-number: QTRD-3202 Change-Id: I981edb7f336aea499440559f4a2098711200206d Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 1b497490..52ab853d 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -75,10 +75,6 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen
inputHandler = new QTouch3DInputHandler();
inputHandler->d_ptr->m_isDefaultHandler = true;
setActiveInputHandler(inputHandler);
- connect(inputHandler, &QAbstract3DInputHandler::inputViewChanged, this,
- &Abstract3DController::handleInputViewChanged);
- connect(inputHandler, &QAbstract3DInputHandler::positionChanged, this,
- &Abstract3DController::handleInputPositionChanged);
connect(m_scene->d_ptr.data(), &Q3DScenePrivate::needRender, this,
&Abstract3DController::emitNeedRender);
}
@@ -783,8 +779,9 @@ void Abstract3DController::setActiveInputHandler(QAbstract3DInputHandler *inputH
m_inputHandlers.removeAll(m_activeInputHandler);
delete m_activeInputHandler;
} else {
- // Disconnect the old input handler from the scene
+ // Disconnect the old input handler
m_activeInputHandler->setScene(0);
+ QObject::disconnect(m_activeInputHandler, 0, this, 0);
}
}
@@ -796,6 +793,12 @@ void Abstract3DController::setActiveInputHandler(QAbstract3DInputHandler *inputH
if (m_activeInputHandler)
m_activeInputHandler->setScene(m_scene);
+ // Connect the input handler
+ QObject::connect(m_activeInputHandler, &QAbstract3DInputHandler::inputViewChanged, this,
+ &Abstract3DController::handleInputViewChanged);
+ QObject::connect(m_activeInputHandler, &QAbstract3DInputHandler::positionChanged, this,
+ &Abstract3DController::handleInputPositionChanged);
+
// Notify change of input handler
emit activeInputHandlerChanged(m_activeInputHandler);
}