diff options
Diffstat (limited to 'src/tools/qml2puppet/mockfiles/qt6/CameraGizmo.qml')
-rw-r--r-- | src/tools/qml2puppet/mockfiles/qt6/CameraGizmo.qml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/tools/qml2puppet/mockfiles/qt6/CameraGizmo.qml b/src/tools/qml2puppet/mockfiles/qt6/CameraGizmo.qml new file mode 100644 index 0000000000..21195cfadd --- /dev/null +++ b/src/tools/qml2puppet/mockfiles/qt6/CameraGizmo.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2019 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +import QtQuick 6.0 +import QtQuick3D 6.0 + +IconGizmo { + id: cameraGizmo + + property Model frustumModel: null + property bool globalShowFrustum: false + + iconSource: "qrc:///qtquickplugin/mockfiles/images/editor_camera.png" + + function connectFrustum(frustum) + { + frustumModel = frustum; + + frustum.selected = selected; + frustum.selected = Qt.binding(function() {return selected;}); + + frustum.scene = scene; + frustum.scene = Qt.binding(function() {return scene;}); + + frustum.targetNode = targetNode; + frustum.targetNode = Qt.binding(function() {return targetNode;}); + + frustum.visible = (canBeVisible && globalShowFrustum) + || (targetNode && selected && activeScene === scene); + frustum.visible = Qt.binding(function() { + return (canBeVisible && globalShowFrustum) + || (targetNode && selected && activeScene === scene); + }); + } + + onActiveSceneChanged: { + if (frustumModel && activeScene == scene) + frustumModel.updateGeometry(); + } +} |