// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick 2.15 import QtQuick.Layouts 1.15 import HelperWidgets 2.0 import StudioTheme 1.0 as StudioTheme Column { width: parent.width Section { width: parent.width caption: qsTr("Orbit Camera Controller") SectionLayout { PropertyLabel { text: qsTr("Origin") tooltip: qsTr("The node that the camera will orbit around.") } SecondColumnLayout { ItemFilterComboBox { typeFilter: "QtQuick3D.Node" backendValue: backendValues.origin implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { text: qsTr("Camera") tooltip: qsTr("The camera that will be controlled.") } SecondColumnLayout { ItemFilterComboBox { typeFilter: "QtQuick3D.Camera" backendValue: backendValues.camera implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { text: qsTr("Mouse/Touch") tooltip: qsTr("Enables interaction via mouse and touch.") } SecondColumnLayout { CheckBox { id: mouseEnabledCheckBox text: backendValues.mouseEnabled.valueToString backendValue: backendValues.mouseEnabled implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { visible: mouseEnabledCheckBox.checked text: qsTr("Pan Controls") tooltip: qsTr("Enables panning gestures.") } SecondColumnLayout { visible: mouseEnabledCheckBox.checked CheckBox { text: backendValues.panEnabled.valueToString backendValue: backendValues.panEnabled implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { visible: mouseEnabledCheckBox.checked text: qsTr("Invert X") tooltip: qsTr("Enables inverting X-axis controls.") } SecondColumnLayout { visible: mouseEnabledCheckBox.checked CheckBox { text: backendValues.xInvert.valueToString backendValue: backendValues.xInvert implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { visible: mouseEnabledCheckBox.checked text: qsTr("X Speed") tooltip: qsTr("The speed of the X-axis controls.") } SecondColumnLayout { SpinBox { minimumValue: 0 maximumValue: 999999 decimals: 2 stepSize: 0.1 backendValue: backendValues.xSpeed implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { visible: mouseEnabledCheckBox.checked text: qsTr("Invert Y") tooltip: qsTr("Enables inverting Y-axis controls.") } SecondColumnLayout { visible: mouseEnabledCheckBox.checked CheckBox { text: backendValues.yInvert.valueToString backendValue: backendValues.yInvert implicitWidth: StudioTheme.Values.twoControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } PropertyLabel { visible: mouseEnabledCheckBox.checked text: qsTr("Y Speed") tooltip: qsTr("The speed of the Y-axis controls.") } SecondColumnLayout { SpinBox { minimumValue: 0 maximumValue: 999999 decimals: 2 stepSize: 0.1 backendValue: backendValues.ySpeed implicitWidth: StudioTheme.Values.singleControlColumnWidth + StudioTheme.Values.actionIndicatorWidth } ExpandingSpacer {} } } } }