351 lines
12 KiB
QML
351 lines
12 KiB
QML
// Copyright (C) 2021 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("Node")
|
|
|
|
SectionLayout {
|
|
PropertyLabel {
|
|
text: qsTr("Opacity")
|
|
tooltip: qsTr("Sets the local opacity value of the node.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
// ### should be a slider
|
|
SpinBox {
|
|
minimumValue: 0
|
|
maximumValue: 1
|
|
decimals: 2
|
|
stepSize: 0.1
|
|
backendValue: backendValues.opacity
|
|
sliderIndicatorVisible: true
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {
|
|
text: qsTr("Visibility")
|
|
tooltip: qsTr("Sets the local visibility of the node.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
// ### should be a slider
|
|
CheckBox {
|
|
text: qsTr("Is Visible")
|
|
backendValue: backendValues.visible
|
|
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
}
|
|
}
|
|
|
|
Section {
|
|
id: transformSection
|
|
width: parent.width
|
|
caption: qsTr("Transform")
|
|
|
|
ColumnLayout {
|
|
spacing: StudioTheme.Values.transform3DSectionSpacing
|
|
|
|
SectionLayout {
|
|
PropertyLabel {
|
|
text: qsTr("Translation")
|
|
tooltip: qsTr("Sets the translation of the node.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.x
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "X"
|
|
color: StudioTheme.Values.theme3DAxisXColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.y
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Y"
|
|
color: StudioTheme.Values.theme3DAxisYColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.z
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Z"
|
|
color: StudioTheme.Values.theme3DAxisZColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
}
|
|
|
|
SectionLayout {
|
|
PropertyLabel {
|
|
text: qsTr("Rotation")
|
|
tooltip: qsTr("Sets the rotation of the node in degrees.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.eulerRotation_x
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "X"
|
|
color: StudioTheme.Values.theme3DAxisXColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.eulerRotation_y
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Y"
|
|
color: StudioTheme.Values.theme3DAxisYColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.eulerRotation_z
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Z"
|
|
color: StudioTheme.Values.theme3DAxisZColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
}
|
|
|
|
SectionLayout {
|
|
PropertyLabel {
|
|
text: qsTr("Scale")
|
|
tooltip: qsTr("Sets the scale of the node.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.scale_x
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "X"
|
|
color: StudioTheme.Values.theme3DAxisXColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.scale_y
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Y"
|
|
color: StudioTheme.Values.theme3DAxisYColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.scale_z
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Z"
|
|
color: StudioTheme.Values.theme3DAxisZColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
}
|
|
|
|
SectionLayout {
|
|
PropertyLabel {
|
|
text: qsTr("Pivot")
|
|
tooltip: qsTr("Sets the pivot of the node.")
|
|
}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.pivot_x
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "X"
|
|
color: StudioTheme.Values.theme3DAxisXColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.pivot_y
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Y"
|
|
color: StudioTheme.Values.theme3DAxisYColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
|
|
PropertyLabel {}
|
|
|
|
SecondColumnLayout {
|
|
SpinBox {
|
|
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
|
+ StudioTheme.Values.actionIndicatorWidth
|
|
minimumValue: -9999999
|
|
maximumValue: 9999999
|
|
decimals: 2
|
|
backendValue: backendValues.pivot_z
|
|
}
|
|
|
|
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
|
|
|
|
ControlLabel {
|
|
text: "Z"
|
|
color: StudioTheme.Values.theme3DAxisZColor
|
|
}
|
|
|
|
ExpandingSpacer {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|