diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-10-23 15:40:55 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-10-24 09:07:38 +0000 |
commit | 3c78d4d74d69ab44e49d6c3d854abf12ab2b2d3a (patch) | |
tree | c71702ade506814c7d681f16f7ee87df52647ccc /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp | |
parent | 946943203566167a2f8d3e785d6250ed8a8a87cd (diff) | |
download | qt-creator-3c78d4d74d69ab44e49d6c3d854abf12ab2b2d3a.tar.gz |
Enable object selection in the 3D edit view
Clicking an object in the 3D object selection view, selects it in the
creator side. Multiselection (i.e. Ctrl+click) is not implemented yet.
Also selected object is not highlighted in the view yet.
Task-number: QDS-1124
Change-Id: I0b10162539ecedc40ed117896e385975c52b04a9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp')
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp index b8aabfffc7..ff4bb7e84d 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp @@ -75,7 +75,7 @@ static QVariant objectToVariant(QObject *object) return QVariant::fromValue(object); } -static QObject *createEditView3D(QQmlEngine *engine) +QObject *Qt5InformationNodeInstanceServer::createEditView3D(QQmlEngine *engine) { QmlDesigner::Internal::CameraControlHelper *helper = new QmlDesigner::Internal::CameraControlHelper(); engine->rootContext()->setContextProperty("designStudioNativeCameraControlHelper", helper); @@ -89,6 +89,8 @@ static QObject *createEditView3D(QQmlEngine *engine) return nullptr; } + QObject::connect(window, SIGNAL(objectClicked(QVariant)), this, SLOT(objectClicked(QVariant))); + //For macOS we have to use the 4.1 core profile QSurfaceFormat surfaceFormat = window->requestedFormat(); surfaceFormat.setVersion(4, 1); @@ -99,6 +101,11 @@ static QObject *createEditView3D(QQmlEngine *engine) return window; } +void Qt5InformationNodeInstanceServer::objectClicked(const QVariant &object) { + QObject *item = qobject_cast<QObject *>(object.value<QObject *>()); + selectInstance(instanceForObject(item)); +} + Qt5InformationNodeInstanceServer::Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) : Qt5NodeInstanceServer(nodeInstanceClient) { |