diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-07-04 12:14:13 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-07-04 12:55:05 +0300 |
commit | 1b311517f8889e6faa8a1ae51af582c1cd07e739 (patch) | |
tree | d1b023e36b5c7ddd67368007bb64c4b8551c480b /src/datavisualization/engine/abstract3dcontroller.cpp | |
parent | 9c3b9fb2d8f07b2b3f2e5bc84653711043c9936c (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.cpp | 13 |
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); } |