aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:37:40 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:37:40 +0300
commit0132a99b2bee388b4d0c7365a380bca39e83af3b (patch)
treeeabbea8a489a3e8cc0b6727011f86718e80ab97d
parentd8345b03d800ff30781f32ed04dcf74758f8869b (diff)
parent8027c54637db2d043efb823565d842c5de7b5b8a (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.6' into tqtc/lts-5.15-opensourcev5.15.6-lts-lgpl
-rw-r--r--.qmake.conf2
-rw-r--r--src/imports/effectlib/designer/AdditiveColorGradientSection.qml37
-rw-r--r--src/imports/effectlib/designer/AdditiveColorGradientSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/BlurSection.qml11
-rw-r--r--src/imports/effectlib/designer/BlurSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/BrushStrokesSection.qml37
-rw-r--r--src/imports/effectlib/designer/BrushStrokesSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/ChromaticAberrationSection.qml28
-rw-r--r--src/imports/effectlib/designer/ChromaticAberrationSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/ColorMasterSection.qml38
-rw-r--r--src/imports/effectlib/designer/ColorMasterSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/DepthOfFieldHQBlurSection.qml29
-rw-r--r--src/imports/effectlib/designer/DepthOfFieldHQBlurSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/DesaturateSection.qml11
-rw-r--r--src/imports/effectlib/designer/DesaturateSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/DistortionRippleSection.qml93
-rw-r--r--src/imports/effectlib/designer/DistortionRippleSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/DistortionSphereSection.qml75
-rw-r--r--src/imports/effectlib/designer/DistortionSphereSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/DistortionSpiralSection.qml79
-rw-r--r--src/imports/effectlib/designer/DistortionSpiralSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/EdgeDetectSection.qml13
-rw-r--r--src/imports/effectlib/designer/EdgeDetectSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/EffectSection.qml9
-rw-r--r--src/imports/effectlib/designer/EffectSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/EmbossSection.qml11
-rw-r--r--src/imports/effectlib/designer/EmbossSpecifics.qml3
-rw-r--r--src/imports/effectlib/designer/FlipSection.qml19
-rw-r--r--src/imports/effectlib/designer/FlipSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/FxaaSection.qml2
-rw-r--r--src/imports/effectlib/designer/FxaaSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/GaussianBlurSection.qml13
-rw-r--r--src/imports/effectlib/designer/GaussianBlurSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/HDRBloomTonemapSection.qml56
-rw-r--r--src/imports/effectlib/designer/HDRBloomTonemapSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/IdComboBox.qml2
-rw-r--r--src/imports/effectlib/designer/MotionBlurSection.qml22
-rw-r--r--src/imports/effectlib/designer/MotionBlurSpecifics.qml3
-rw-r--r--src/imports/effectlib/designer/SCurveTonemapSection.qml92
-rw-r--r--src/imports/effectlib/designer/SCurveTonemapSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/ScatterSection.qml37
-rw-r--r--src/imports/effectlib/designer/ScatterSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/TiltShiftSection.qml47
-rw-r--r--src/imports/effectlib/designer/TiltShiftSpecifics.qml2
-rw-r--r--src/imports/effectlib/designer/VignetteSection.qml38
-rw-r--r--src/imports/effectlib/designer/VignetteSpecifics.qml2
-rw-r--r--src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSection.qml137
-rw-r--r--src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/AluminumAnodizedMaterialSection.qml88
-rw-r--r--src/imports/materiallib/designer/AluminumAnodizedMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/AluminumBrushedMaterialSection.qml297
-rw-r--r--src/imports/materiallib/designer/AluminumBrushedMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/AluminumEmissiveMaterialSection.qml509
-rw-r--r--src/imports/materiallib/designer/AluminumEmissiveMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/AluminumMaterialSection.qml321
-rw-r--r--src/imports/materiallib/designer/AluminumMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/CopperMaterialSection.qml90
-rw-r--r--src/imports/materiallib/designer/CopperMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/CustomMaterialSection.qml95
-rw-r--r--src/imports/materiallib/designer/CustomMaterialSpecifics.qml2
-rw-r--r--src/imports/materiallib/designer/EnvironmentMapSection.qml73
-rw-r--r--src/imports/materiallib/designer/FrostedGlassMaterialSection.qml593
-rw-r--r--src/imports/materiallib/designer/FrostedGlassMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSection.qml488
-rw-r--r--src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/GlassMaterialSection.qml129
-rw-r--r--src/imports/materiallib/designer/GlassMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/GlassRefractiveMaterialSection.qml129
-rw-r--r--src/imports/materiallib/designer/GlassRefractiveMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/IdComboBox.qml6
-rw-r--r--src/imports/materiallib/designer/PaperArtisticMaterialSection.qml271
-rw-r--r--src/imports/materiallib/designer/PaperArtisticMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/PaperOfficeMaterialSection.qml265
-rw-r--r--src/imports/materiallib/designer/PaperOfficeMaterialSpecifics.qml6
-rw-r--r--src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSection.qml219
-rw-r--r--src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/PlasticStructuredRedMaterialSection.qml166
-rw-r--r--src/imports/materiallib/designer/PlasticStructuredRedMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/ShadowMapSection.qml73
-rw-r--r--src/imports/materiallib/designer/SteelMilledConcentricMaterialSection.qml221
-rw-r--r--src/imports/materiallib/designer/SteelMilledConcentricMaterialSpecifics.qml10
-rw-r--r--src/imports/materiallib/designer/designer.pri4
-rw-r--r--src/imports/quick3d/designer/AreaLightSection.qml67
-rw-r--r--src/imports/quick3d/designer/AreaLightSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/BlendingSection.qml46
-rw-r--r--src/imports/quick3d/designer/BlendingSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/BufferBlitSection.qml20
-rw-r--r--src/imports/quick3d/designer/BufferBlitSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/BufferInputSection.qml21
-rw-r--r--src/imports/quick3d/designer/BufferInputSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/BufferSection.qml95
-rw-r--r--src/imports/quick3d/designer/BufferSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/CullModeSection.qml21
-rw-r--r--src/imports/quick3d/designer/CullModeSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/CustomCameraSection.qml2
-rw-r--r--src/imports/quick3d/designer/CustomCameraSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/DefaultMaterialSection.qml445
-rw-r--r--src/imports/quick3d/designer/DefaultMaterialSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/DepthInputSection.qml12
-rw-r--r--src/imports/quick3d/designer/DepthInputSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/DirectionalLightSection.qml51
-rw-r--r--src/imports/quick3d/designer/DirectionalLightSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/FrustumCameraSection.qml38
-rw-r--r--src/imports/quick3d/designer/FrustumCameraSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/IdComboBox.qml2
-rw-r--r--src/imports/quick3d/designer/MaterialSection.qml45
-rw-r--r--src/imports/quick3d/designer/ModelSection.qml70
-rw-r--r--src/imports/quick3d/designer/ModelSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/NodeSection.qml358
-rw-r--r--src/imports/quick3d/designer/NodeSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/Object3DSection.qml3
-rw-r--r--src/imports/quick3d/designer/OrthographicCameraSection.qml19
-rw-r--r--src/imports/quick3d/designer/OrthographicCameraSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/PassSection.qml27
-rw-r--r--src/imports/quick3d/designer/PassSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/PerspectiveCameraSection.qml45
-rw-r--r--src/imports/quick3d/designer/PerspectiveCameraSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/PointLightSection.qml76
-rw-r--r--src/imports/quick3d/designer/PointLightSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/PrincipledMaterialSection.qml258
-rw-r--r--src/imports/quick3d/designer/PrincipledMaterialSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/RenderStateSection.qml31
-rw-r--r--src/imports/quick3d/designer/RenderStateSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/SceneEnvironmentSection.qml179
-rw-r--r--src/imports/quick3d/designer/SceneEnvironmentSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/SetUniformValueSection.qml22
-rw-r--r--src/imports/quick3d/designer/SetUniformValueSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/ShaderInfoSection.qml42
-rw-r--r--src/imports/quick3d/designer/ShaderInfoSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/ShaderSection.qml27
-rw-r--r--src/imports/quick3d/designer/ShaderSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/ShadowSection.qml59
-rw-r--r--src/imports/quick3d/designer/SpotLightSection.qml92
-rw-r--r--src/imports/quick3d/designer/SpotLightSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/TextureInputSection.qml20
-rw-r--r--src/imports/quick3d/designer/TextureInputSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/TextureSection.qml159
-rw-r--r--src/imports/quick3d/designer/TextureSpecifics.qml2
-rw-r--r--src/imports/quick3d/designer/View3DSection.qml29
-rw-r--r--src/imports/quick3d/designer/View3DSpecifics.qml2
-rw-r--r--src/plugins/assetimporters/assimp/assimpimporter.cpp53
-rw-r--r--src/quick3d/qquick3dnode.cpp4
142 files changed, 4249 insertions, 3412 deletions
diff --git a/.qmake.conf b/.qmake.conf
index b8e11611..53c1ac93 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -3,4 +3,4 @@ load(qt_build_config)
CONFIG += warning_clean
DEFINES += QT_NO_FOREACH
-MODULE_VERSION = 5.15.5
+MODULE_VERSION = 5.15.6
diff --git a/src/imports/effectlib/designer/AdditiveColorGradientSection.qml b/src/imports/effectlib/designer/AdditiveColorGradientSection.qml
index e41508d7..86021dca 100644
--- a/src/imports/effectlib/designer/AdditiveColorGradientSection.qml
+++ b/src/imports/effectlib/designer/AdditiveColorGradientSection.qml
@@ -28,33 +28,32 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
Section {
- caption: qsTr("Top Color")
+ caption: qsTr("Additive Color Gradient")
width: parent.width
- ColorEditor {
- caption: qsTr("Top Color")
- backendValue: backendValues.topColor
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("Bottom Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Bottom Color")
- backendValue: backendValues.bottomColor
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
+ SectionLayout {
+ PropertyLabel { text: qsTr("Top Color") }
+
+ ColorEditor {
+ backendValue: backendValues.topColor
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel { text: qsTr("Bottom Color") }
+
+ ColorEditor {
+ backendValue: backendValues.ambientColor
+ supportGradient: false
+ isVector3D: true
+ }
}
}
}
diff --git a/src/imports/effectlib/designer/AdditiveColorGradientSpecifics.qml b/src/imports/effectlib/designer/AdditiveColorGradientSpecifics.qml
index d912265b..8a215c02 100644
--- a/src/imports/effectlib/designer/AdditiveColorGradientSpecifics.qml
+++ b/src/imports/effectlib/designer/AdditiveColorGradientSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/BlurSection.qml b/src/imports/effectlib/designer/BlurSection.qml
index 9b31c9bb..f517fa18 100644
--- a/src/imports/effectlib/designer/BlurSection.qml
+++ b/src/imports/effectlib/designer/BlurSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Strength of the blur.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 0.1
@@ -50,8 +52,11 @@ Column {
decimals: 3
stepSize: 0.01
backendValue: backendValues.amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/BlurSpecifics.qml b/src/imports/effectlib/designer/BlurSpecifics.qml
index 064d0f80..eac297ac 100644
--- a/src/imports/effectlib/designer/BlurSpecifics.qml
+++ b/src/imports/effectlib/designer/BlurSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/BrushStrokesSection.qml b/src/imports/effectlib/designer/BrushStrokesSection.qml
index 0913f882..2f7d94cb 100644
--- a/src/imports/effectlib/designer/BrushStrokesSection.qml
+++ b/src/imports/effectlib/designer/BrushStrokesSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,17 +40,21 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Noise Sample Texture")
tooltip: qsTr("Defines a texture for noise samples.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.noiseSample_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -59,10 +64,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Length")
tooltip: qsTr("Length of the brush.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 3
@@ -70,34 +76,47 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.brushLength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Size")
tooltip: qsTr("Size of the brush.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 200
minimumValue: 10
decimals: 0
backendValue: backendValues.brushSize
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Angle")
tooltip: qsTr("Angle of the brush")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 360
minimumValue: 0
decimals: 0
backendValue: backendValues.brushAngle
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/BrushStrokesSpecifics.qml b/src/imports/effectlib/designer/BrushStrokesSpecifics.qml
index 584253c7..f5790a1e 100644
--- a/src/imports/effectlib/designer/BrushStrokesSpecifics.qml
+++ b/src/imports/effectlib/designer/BrushStrokesSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/ChromaticAberrationSection.qml b/src/imports/effectlib/designer/ChromaticAberrationSection.qml
index 43209bba..7024e224 100644
--- a/src/imports/effectlib/designer/ChromaticAberrationSection.qml
+++ b/src/imports/effectlib/designer/ChromaticAberrationSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,17 +40,21 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Mask Texture")
tooltip: qsTr("Defines a texture for mask.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.maskTexture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -59,23 +64,29 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Amount of aberration.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1000
minimumValue: -1000
decimals: 0
backendValue: backendValues.aberrationAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Focus Depth")
tooltip: qsTr("Focus depth of the aberration.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10000
@@ -83,8 +94,11 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.focusDepth
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/ChromaticAberrationSpecifics.qml b/src/imports/effectlib/designer/ChromaticAberrationSpecifics.qml
index 57f4ac6b..0df8434b 100644
--- a/src/imports/effectlib/designer/ChromaticAberrationSpecifics.qml
+++ b/src/imports/effectlib/designer/ChromaticAberrationSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/ColorMasterSection.qml b/src/imports/effectlib/designer/ColorMasterSection.qml
index 27bee26a..bf603dc6 100644
--- a/src/imports/effectlib/designer/ColorMasterSection.qml
+++ b/src/imports/effectlib/designer/ColorMasterSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Red Strength")
tooltip: qsTr("Red strength.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
@@ -50,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.redStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Green Strength")
tooltip: qsTr("Green strength.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
@@ -64,13 +71,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.greenStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blue Strength")
tooltip: qsTr("Blue strength.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
@@ -78,13 +90,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.blueStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Saturation")
tooltip: qsTr("Color saturation.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -92,8 +109,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.saturation
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/ColorMasterSpecifics.qml b/src/imports/effectlib/designer/ColorMasterSpecifics.qml
index 4d622f9d..28ad864f 100644
--- a/src/imports/effectlib/designer/ColorMasterSpecifics.qml
+++ b/src/imports/effectlib/designer/ColorMasterSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/DepthOfFieldHQBlurSection.qml b/src/imports/effectlib/designer/DepthOfFieldHQBlurSection.qml
index 304483ae..83b0d0bf 100644
--- a/src/imports/effectlib/designer/DepthOfFieldHQBlurSection.qml
+++ b/src/imports/effectlib/designer/DepthOfFieldHQBlurSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,44 +40,58 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Blur Amount")
tooltip: qsTr("Amount of blur.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 50
minimumValue: 0
decimals: 2
backendValue: backendValues.blurAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Focus Distance")
tooltip: qsTr("Focus distance of the blur.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 5000
minimumValue: 0
decimals: 0
backendValue: backendValues.focusDistance
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Focus Range")
tooltip: qsTr("Focus range of the blur.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 5000
minimumValue: 0
decimals: 0
backendValue: backendValues.focusRange
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/DepthOfFieldHQBlurSpecifics.qml b/src/imports/effectlib/designer/DepthOfFieldHQBlurSpecifics.qml
index 94b1674f..05323c0a 100644
--- a/src/imports/effectlib/designer/DepthOfFieldHQBlurSpecifics.qml
+++ b/src/imports/effectlib/designer/DepthOfFieldHQBlurSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/DesaturateSection.qml b/src/imports/effectlib/designer/DesaturateSection.qml
index 42e5d56c..d5e22f85 100644
--- a/src/imports/effectlib/designer/DesaturateSection.qml
+++ b/src/imports/effectlib/designer/DesaturateSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Strength of the desaturate.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,8 +52,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/DesaturateSpecifics.qml b/src/imports/effectlib/designer/DesaturateSpecifics.qml
index f2536139..e8bd0504 100644
--- a/src/imports/effectlib/designer/DesaturateSpecifics.qml
+++ b/src/imports/effectlib/designer/DesaturateSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/DistortionRippleSection.qml b/src/imports/effectlib/designer/DistortionRippleSection.qml
index 71b17e5e..379a8eb0 100644
--- a/src/imports/effectlib/designer/DistortionRippleSection.qml
+++ b/src/imports/effectlib/designer/DistortionRippleSection.qml
@@ -28,122 +28,129 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Distortion")
+ caption: qsTr("Distortion Ripple")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Radius")
tooltip: qsTr("Radius of the effect.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 100
minimumValue: 0
decimals: 2
backendValue: backendValues.radius
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Width")
tooltip: qsTr("Width of the distortion.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 100
minimumValue: 2
decimals: 2
backendValue: backendValues.distortionWidth
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Height")
tooltip: qsTr("Height of the distortion.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 100
minimumValue: 0
decimals: 2
backendValue: backendValues.distortionHeight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Phase")
tooltip: qsTr("Phase of the distortion.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 360
minimumValue: 0
decimals: 0
backendValue: backendValues.distortionPhase
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
- Section {
- id: centerSection
- width: parent.width
- caption: qsTr("Position")
-
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- ColumnLayout {
- width: parent.width - 16
+ ExpandingSpacer {}
+ }
- Label {
- width: 100
+ PropertyLabel {
text: qsTr("Center")
tooltip: qsTr("Center of the distortion.")
}
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("X")
- width: centerSection.labelWidth
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 1
minimumValue: 0
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_x
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: centerSection.labelWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 1
minimumValue: 0
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_y
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/DistortionRippleSpecifics.qml b/src/imports/effectlib/designer/DistortionRippleSpecifics.qml
index f653eb8b..7e786a06 100644
--- a/src/imports/effectlib/designer/DistortionRippleSpecifics.qml
+++ b/src/imports/effectlib/designer/DistortionRippleSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/DistortionSphereSection.qml b/src/imports/effectlib/designer/DistortionSphereSection.qml
index 53ea1fdb..44248ceb 100644
--- a/src/imports/effectlib/designer/DistortionSphereSection.qml
+++ b/src/imports/effectlib/designer/DistortionSphereSection.qml
@@ -28,21 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Distortion")
+ caption: qsTr("Distortion Sphere")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Radius")
tooltip: qsTr("Radius of the effect.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.radius
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Height")
tooltip: qsTr("Height of the distortion.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -64,62 +71,52 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.distortionHeight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
-
- Section {
- id: centerSection
- width: parent.width
- caption: qsTr("Position")
-
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
- ColumnLayout {
- width: parent.width - 16
+ ExpandingSpacer {}
+ }
- Label {
- width: 100
+ PropertyLabel {
text: qsTr("Center")
tooltip: qsTr("Center of the distortion.")
}
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("X")
- width: centerSection.labelWidth
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 1
minimumValue: 0
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_x
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: centerSection.labelWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 1
minimumValue: 0
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_y
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/DistortionSphereSpecifics.qml b/src/imports/effectlib/designer/DistortionSphereSpecifics.qml
index 1fc3e4c2..8b2acdd2 100644
--- a/src/imports/effectlib/designer/DistortionSphereSpecifics.qml
+++ b/src/imports/effectlib/designer/DistortionSphereSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/DistortionSpiralSection.qml b/src/imports/effectlib/designer/DistortionSpiralSection.qml
index c3395be8..386ea39e 100644
--- a/src/imports/effectlib/designer/DistortionSpiralSection.qml
+++ b/src/imports/effectlib/designer/DistortionSpiralSection.qml
@@ -28,21 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Distortion")
+ caption: qsTr("Distortion Spiral")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Radius")
tooltip: qsTr("Radius of the effect.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,75 +52,70 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.radius
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Strength")
tooltip: qsTr("Strength of the distortion.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10
minimumValue: -10
decimals: 2
backendValue: backendValues.distortionStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
- Section {
- id: centerSection
- width: parent.width
- caption: qsTr("Position")
-
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- ColumnLayout {
- width: parent.width - 16
+ ExpandingSpacer {}
+ }
- Label {
- width: 100
+ PropertyLabel {
text: qsTr("Center")
tooltip: qsTr("Center of the distortion.")
}
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("X")
- width: centerSection.labelWidth
- }
+ SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_x
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- RowLayout {
- spacing: centerSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: centerSection.labelWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.center_y
- Layout.fillWidth: true
- Layout.minimumWidth: centerSection.spinBoxMinimumWidth
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/DistortionSpiralSpecifics.qml b/src/imports/effectlib/designer/DistortionSpiralSpecifics.qml
index 5efe1495..1cebde66 100644
--- a/src/imports/effectlib/designer/DistortionSpiralSpecifics.qml
+++ b/src/imports/effectlib/designer/DistortionSpiralSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/EdgeDetectSection.qml b/src/imports/effectlib/designer/EdgeDetectSection.qml
index e81a3ffd..c7b0c572 100644
--- a/src/imports/effectlib/designer/EdgeDetectSection.qml
+++ b/src/imports/effectlib/designer/EdgeDetectSection.qml
@@ -28,21 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Edge")
+ caption: qsTr("Edge Detect")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Strength")
tooltip: qsTr("Strength of the edge.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,8 +52,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.edgeStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/EdgeDetectSpecifics.qml b/src/imports/effectlib/designer/EdgeDetectSpecifics.qml
index a5e76852..0d920cb7 100644
--- a/src/imports/effectlib/designer/EdgeDetectSpecifics.qml
+++ b/src/imports/effectlib/designer/EdgeDetectSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/EffectSection.qml b/src/imports/effectlib/designer/EffectSection.qml
index fc71164c..189ecd23 100644
--- a/src/imports/effectlib/designer/EffectSection.qml
+++ b/src/imports/effectlib/designer/EffectSection.qml
@@ -28,18 +28,21 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Section {
caption: qsTr("Effect")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Passes")
tooltip: qsTr("Render passes of the effect.")
+ Layout.alignment: Qt.AlignTop
+ Layout.topMargin: 5
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.passes
@@ -51,6 +54,8 @@ Section {
onRemove: function(idx) { backendValues.passes.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.passes.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/EffectSpecifics.qml b/src/imports/effectlib/designer/EffectSpecifics.qml
index f337d42f..e322b781 100644
--- a/src/imports/effectlib/designer/EffectSpecifics.qml
+++ b/src/imports/effectlib/designer/EffectSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/EmbossSection.qml b/src/imports/effectlib/designer/EmbossSection.qml
index 688f8555..223f7cc8 100644
--- a/src/imports/effectlib/designer/EmbossSection.qml
+++ b/src/imports/effectlib/designer/EmbossSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Strength of the emboss.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 0.01
@@ -50,8 +52,11 @@ Column {
decimals: 4
stepSize: 0.001
backendValue: backendValues.amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/EmbossSpecifics.qml b/src/imports/effectlib/designer/EmbossSpecifics.qml
index 781d78b9..a8fb19f1 100644
--- a/src/imports/effectlib/designer/EmbossSpecifics.qml
+++ b/src/imports/effectlib/designer/EmbossSpecifics.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/FlipSection.qml b/src/imports/effectlib/designer/FlipSection.qml
index a2f494d2..426dd8df 100644
--- a/src/imports/effectlib/designer/FlipSection.qml
+++ b/src/imports/effectlib/designer/FlipSection.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
@@ -39,27 +39,36 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Horizontal")
tooltip: qsTr("Flip horizontally.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.flipHorizontally.valueToString
backendValue: backendValues.flipHorizontally
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Vertical")
tooltip: qsTr("Flip vertically.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.flipVertically.valueToString
backendValue: backendValues.flipVertically
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/FlipSpecifics.qml b/src/imports/effectlib/designer/FlipSpecifics.qml
index 05b203e7..c77e9518 100644
--- a/src/imports/effectlib/designer/FlipSpecifics.qml
+++ b/src/imports/effectlib/designer/FlipSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/FxaaSection.qml b/src/imports/effectlib/designer/FxaaSection.qml
index b3468d3b..f1a2a9c7 100644
--- a/src/imports/effectlib/designer/FxaaSection.qml
+++ b/src/imports/effectlib/designer/FxaaSection.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/FxaaSpecifics.qml b/src/imports/effectlib/designer/FxaaSpecifics.qml
index 621e69be..eae8125a 100644
--- a/src/imports/effectlib/designer/FxaaSpecifics.qml
+++ b/src/imports/effectlib/designer/FxaaSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/GaussianBlurSection.qml b/src/imports/effectlib/designer/GaussianBlurSection.qml
index b4536cd5..a74446f4 100644
--- a/src/imports/effectlib/designer/GaussianBlurSection.qml
+++ b/src/imports/effectlib/designer/GaussianBlurSection.qml
@@ -28,29 +28,34 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Blur")
+ caption: qsTr("Gaussian Blur")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Strength of the blur.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10
minimumValue: 0
decimals: 2
backendValue: backendValues.amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/GaussianBlurSpecifics.qml b/src/imports/effectlib/designer/GaussianBlurSpecifics.qml
index 114bac69..8ad52a2d 100644
--- a/src/imports/effectlib/designer/GaussianBlurSpecifics.qml
+++ b/src/imports/effectlib/designer/GaussianBlurSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/HDRBloomTonemapSection.qml b/src/imports/effectlib/designer/HDRBloomTonemapSection.qml
index d5411c68..87da556c 100644
--- a/src/imports/effectlib/designer/HDRBloomTonemapSection.qml
+++ b/src/imports/effectlib/designer/HDRBloomTonemapSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Gamma")
tooltip: qsTr("Amount of gamma.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 4
@@ -50,39 +52,54 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.gamma
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Exposure")
tooltip: qsTr("Amount of exposure.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9
minimumValue: -9
decimals: 2
backendValue: backendValues.exposure
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blur Falloff")
tooltip: qsTr("Amount of blur falloff.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10
minimumValue: 0
decimals: 2
backendValue: backendValues.blurFalloff
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Tonemapping Lerp")
tooltip: qsTr("Tonemapping linear interpolation value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -90,13 +107,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.tonemappingLerp
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Bloom Threshold")
tooltip: qsTr("Bloom color threshold value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -104,13 +126,18 @@ Column {
decimals: 3
stepSize: 0.1
backendValue: backendValues.bloomThreshold
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Channel Threshold")
tooltip: qsTr("Channel color threshold value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -118,8 +145,11 @@ Column {
decimals: 3
stepSize: 0.1
backendValue: backendValues.channelThreshold
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/HDRBloomTonemapSpecifics.qml b/src/imports/effectlib/designer/HDRBloomTonemapSpecifics.qml
index a4411299..d7dcabbe 100644
--- a/src/imports/effectlib/designer/HDRBloomTonemapSpecifics.qml
+++ b/src/imports/effectlib/designer/HDRBloomTonemapSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/IdComboBox.qml b/src/imports/effectlib/designer/IdComboBox.qml
index 4111ad0e..094039c7 100644
--- a/src/imports/effectlib/designer/IdComboBox.qml
+++ b/src/imports/effectlib/designer/IdComboBox.qml
@@ -59,7 +59,7 @@ ComboBox {
comboBox.setCurrentText(comboBox.textValue)
}
onModelChanged: comboBox.setCurrentText(comboBox.textValue)
- onCompressedActivated: comboBox.handleActivate(index)
+ onCompressedActivated: function(index, reason) { comboBox.handleActivate(index) }
Component.onCompleted: comboBox.setCurrentText(comboBox.textValue)
onEditTextChanged: {
diff --git a/src/imports/effectlib/designer/MotionBlurSection.qml b/src/imports/effectlib/designer/MotionBlurSection.qml
index 48d37205..fb57f230 100644
--- a/src/imports/effectlib/designer/MotionBlurSection.qml
+++ b/src/imports/effectlib/designer/MotionBlurSection.qml
@@ -28,21 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Blur")
+ caption: qsTr("Motion Blur")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Fade Amount")
tooltip: qsTr("Specifies how much the blur fades away each frame.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.fadeAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Quality")
tooltip: qsTr("Blur quality.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -64,8 +71,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.blurQuality
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/MotionBlurSpecifics.qml b/src/imports/effectlib/designer/MotionBlurSpecifics.qml
index 2746f1b8..31de28cb 100644
--- a/src/imports/effectlib/designer/MotionBlurSpecifics.qml
+++ b/src/imports/effectlib/designer/MotionBlurSpecifics.qml
@@ -28,9 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
-
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/SCurveTonemapSection.qml b/src/imports/effectlib/designer/SCurveTonemapSection.qml
index 044ada8b..4ace9410 100644
--- a/src/imports/effectlib/designer/SCurveTonemapSection.qml
+++ b/src/imports/effectlib/designer/SCurveTonemapSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Shoulder Slope")
tooltip: qsTr("Set the slope of the curve shoulder.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 3
@@ -50,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.shoulderSlope
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Shoulder Emphasis")
tooltip: qsTr("Set the emphasis of the curve shoulder.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -64,13 +71,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.shoulderEmphasis
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Toe Slope")
tooltip: qsTr("Set the slope of the curve toe.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 3
@@ -78,13 +90,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.toeSlope
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Toe Emphasis")
tooltip: qsTr("Set the emphasis of the curve toe.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -92,20 +109,25 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.toeEmphasis
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Color")
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Contrast Boost")
tooltip: qsTr("Set the contrast boost amount.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
@@ -113,13 +135,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.contrastBoost
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Saturation Level")
tooltip: qsTr("Set the color saturation level.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
@@ -127,13 +154,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.saturationLevel
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Gamma")
tooltip: qsTr("Set the gamma value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 8
@@ -141,45 +173,63 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.gammaValue
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Use Exposure")
tooltip: qsTr("Specifies if the exposure or white point should be used.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.useExposure.valueToString
backendValue: backendValues.useExposure
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("White Point")
tooltip: qsTr("Set the white point value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 128
minimumValue: 0.01
decimals: 2
backendValue: backendValues.whitePoint
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Exposure")
tooltip: qsTr("Set the exposure value.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 16
minimumValue: 0.01
decimals: 2
backendValue: backendValues.exposureValue
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/SCurveTonemapSpecifics.qml b/src/imports/effectlib/designer/SCurveTonemapSpecifics.qml
index ab56628d..863d02a7 100644
--- a/src/imports/effectlib/designer/SCurveTonemapSpecifics.qml
+++ b/src/imports/effectlib/designer/SCurveTonemapSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/ScatterSection.qml b/src/imports/effectlib/designer/ScatterSection.qml
index acb59a55..ea616ece 100644
--- a/src/imports/effectlib/designer/ScatterSection.qml
+++ b/src/imports/effectlib/designer/ScatterSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,17 +40,21 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Noise Sample Texture")
tooltip: qsTr("Defines a texture for noise samples.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.noiseSample_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -59,42 +64,56 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Amount of scatter.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 127
minimumValue: 0
decimals: 2
backendValue: backendValues.amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Direction")
tooltip: qsTr("Direction of scatter. 0 = both, 1 = horizontal, 2 = vertical.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2
minimumValue: 0
decimals: 0
backendValue: backendValues.direction
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Randomize")
tooltip: qsTr("Specifies if the scatter is random.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.randomize.valueToString
backendValue: backendValues.randomize
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/ScatterSpecifics.qml b/src/imports/effectlib/designer/ScatterSpecifics.qml
index df84649f..397c78c5 100644
--- a/src/imports/effectlib/designer/ScatterSpecifics.qml
+++ b/src/imports/effectlib/designer/ScatterSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/TiltShiftSection.qml b/src/imports/effectlib/designer/TiltShiftSection.qml
index ccc6ac56..c1a68131 100644
--- a/src/imports/effectlib/designer/TiltShiftSection.qml
+++ b/src/imports/effectlib/designer/TiltShiftSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,11 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Focus Position")
tooltip: qsTr("Set the focus position.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -50,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.focusPosition
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Focus Width")
tooltip: qsTr("Set the focus width.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -64,43 +71,61 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.focusWidth
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blur Amount")
tooltip: qsTr("Set the blur amount.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10
minimumValue: 0
decimals: 2
backendValue: backendValues.blurAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Vertical")
tooltip: qsTr("Specifies if the tilt shift is vertical.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.isVertical.valueToString
backendValue: backendValues.isVertical
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Inverted")
tooltip: qsTr("Specifies if the tilt shift is inverted.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.isInverted.valueToString
backendValue: backendValues.isInverted
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/effectlib/designer/TiltShiftSpecifics.qml b/src/imports/effectlib/designer/TiltShiftSpecifics.qml
index 014fe65d..ab571f91 100644
--- a/src/imports/effectlib/designer/TiltShiftSpecifics.qml
+++ b/src/imports/effectlib/designer/TiltShiftSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/effectlib/designer/VignetteSection.qml b/src/imports/effectlib/designer/VignetteSection.qml
index 49e8629d..73ba7cb3 100644
--- a/src/imports/effectlib/designer/VignetteSection.qml
+++ b/src/imports/effectlib/designer/VignetteSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,23 +40,29 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Strength")
tooltip: qsTr("Set the vignette strength.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 15
minimumValue: 0
decimals: 2
backendValue: backendValues.vignetteStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Radius")
tooltip: qsTr("Set the vignette radius.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 5
@@ -63,21 +70,20 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.vignetteRadius
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Vignette Color")
- backendValue: backendValues.vignetteColor
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Vignette Color") }
+
+ ColorEditor {
+ backendValue: backendValues.vignetteColor
+ supportGradient: false
+ isVector3D: true
+ }
}
}
}
diff --git a/src/imports/effectlib/designer/VignetteSpecifics.qml b/src/imports/effectlib/designer/VignetteSpecifics.qml
index 022cee3f..ec574c31 100644
--- a/src/imports/effectlib/designer/VignetteSpecifics.qml
+++ b/src/imports/effectlib/designer/VignetteSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSection.qml b/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSection.qml
index fda6cb61..d3343de9 100644
--- a/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSection.qml
+++ b/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSection.qml
@@ -28,82 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Environment Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
caption: qsTr("Emission")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Intensity")
tooltip: qsTr("Set the emission intensity.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -111,68 +52,75 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.intensity
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Map Texture")
tooltip: qsTr("Defines a texture for emissive map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("MaskTexture")
tooltip: qsTr("Defines a texture for emissive mask.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_mask_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Emission Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Emission Color")
- backendValue: backendValues.emission_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+ PropertyLabel { text: qsTr("Emission Color") }
- Section {
- caption: qsTr("Base Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Base Color")
- backendValue: backendValues.base_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
+ ColorEditor {
+ backendValue: backendValues.emission_color
+ supportGradient: false
+ isVector3D: true
+ }
}
}
Section {
caption: qsTr("General")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel { text: qsTr("Base Color") }
+
+ ColorEditor {
+ backendValue: backendValues.base_color
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -180,8 +128,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSpecifics.qml b/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSpecifics.qml
index f8cb4fa0..10f07bae 100644
--- a/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/AluminumAnodizedEmissiveMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
AluminumAnodizedEmissiveMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/AluminumAnodizedMaterialSection.qml b/src/imports/materiallib/designer/AluminumAnodizedMaterialSection.qml
index 579ab5c3..71eaec27 100644
--- a/src/imports/materiallib/designer/AluminumAnodizedMaterialSection.qml
+++ b/src/imports/materiallib/designer/AluminumAnodizedMaterialSection.qml
@@ -28,94 +28,31 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("General")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
+ PropertyLabel { text: qsTr("Base Color") }
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
+ ColorEditor {
+ backendValue: backendValues.base_color
+ supportGradient: false
+ isVector3D: true
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
- Section {
- caption: qsTr("Base Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Base Color")
- backendValue: backendValues.base_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
-
- Section {
- caption: qsTr("General")
- width: parent.width
- SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -123,8 +60,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/AluminumAnodizedMaterialSpecifics.qml b/src/imports/materiallib/designer/AluminumAnodizedMaterialSpecifics.qml
index 891a2aa2..ebe6190a 100644
--- a/src/imports/materiallib/designer/AluminumAnodizedMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/AluminumAnodizedMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
AluminumAnodizedMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/AluminumBrushedMaterialSection.qml b/src/imports/materiallib/designer/AluminumBrushedMaterialSection.qml
index 71530438..3c74c97c 100644
--- a/src/imports/materiallib/designer/AluminumBrushedMaterialSection.qml
+++ b/src/imports/materiallib/designer/AluminumBrushedMaterialSection.qml
@@ -28,240 +28,197 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("Roughness")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
+ PropertyLabel { text: qsTr("Metal Color") }
+
+ ColorEditor {
+ backendValue: backendValues.metal_color
+ supportGradient: false
+ isVector3D: true
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
+ tooltip: qsTr("Defines a horizontal texture for roughness map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
+ backendValue: backendValues.roughness_texture_u_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
+ tooltip: qsTr("Defines a vertical texture for roughness map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
+ backendValue: backendValues.roughness_texture_v_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
Section {
- caption: qsTr("Metal Color")
+ caption: qsTr("Reflection")
width: parent.width
- ColorEditor {
- caption: qsTr("Metal Color")
- backendValue: backendValues.metal_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("Roughness")
- width: parent.width
SectionLayout {
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a horizontal texture for roughness map.")
+ PropertyLabel {
+ text: qsTr("Stretch")
+ tooltip: qsTr("Set the material reflection stretch.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.roughness_texture_u_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.reflection_stretch
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a vertical texture for roughness map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.roughness_texture_v_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
- caption: qsTr("Reflection")
+ caption: qsTr("Brush")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Stretch")
- tooltip: qsTr("Set the material reflection stretch.")
+ PropertyLabel {
+ text: qsTr("Strength")
+ tooltip: qsTr("Set the strength of the brush strokes.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
- backendValue: backendValues.reflection_stretch
- Layout.fillWidth: true
+ backendValue: backendValues.brushing_strength
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a vertical texture for roughness map.")
+
+ PropertyLabel {
+ text: qsTr("Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the brush map.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.roughness_texture_v_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
+ }
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Brush")
- width: parent.width
+ PropertyLabel {}
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Strenght")
- tooltip: qsTr("Set the strength of the brush strokes.")
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.brushing_strength
- Layout.fillWidth: true
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
}
- ColumnLayout {
- width: parent.width
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Tiling")
- tooltip: qsTr("Sets the tiling repeat of the brush map.")
- }
-
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
}
@@ -269,32 +226,42 @@ Column {
Section {
caption: qsTr("Bump")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Set the bump map bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2
minimumValue: 0
+ maximumValue: 2
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bump_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/AluminumBrushedMaterialSpecifics.qml b/src/imports/materiallib/designer/AluminumBrushedMaterialSpecifics.qml
index 94da0a5c..5a8d0f4c 100644
--- a/src/imports/materiallib/designer/AluminumBrushedMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/AluminumBrushedMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
AluminumBrushedMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/AluminumEmissiveMaterialSection.qml b/src/imports/materiallib/designer/AluminumEmissiveMaterialSection.qml
index 87b2bfe5..0c98ed29 100644
--- a/src/imports/materiallib/designer/AluminumEmissiveMaterialSection.qml
+++ b/src/imports/materiallib/designer/AluminumEmissiveMaterialSection.qml
@@ -28,402 +28,393 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("Emission")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
+ PropertyLabel { text: qsTr("Emission Color") }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
+ ColorEditor {
+ backendValue: backendValues.emission_color
+ supportGradient: false
+ isVector3D: true
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
+
+ PropertyLabel {
+ text: qsTr("Intensity")
+ tooltip: qsTr("Set the emission intensity.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.intensity
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Emission")
- width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Intensity")
- tooltip: qsTr("Set the emission intensity.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.intensity
- Layout.fillWidth: true
- }
- }
- Label {
+ PropertyLabel {
text: qsTr("Map Texture")
tooltip: qsTr("Defines a texture for emissive map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("MaskTexture")
tooltip: qsTr("Defines a texture for emissive mask.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_mask_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
+
+ PropertyLabel {
+ text: qsTr("Mask Offset")
+ tooltip: qsTr("Sets the mask offset of emissive map.")
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Mask Offset")
- tooltip: qsTr("Sets the mask offset of emissive map.")
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.emissive_mask_offset_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
- width: parent.width
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.emissive_mask_offset_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.emissive_mask_offset_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.emissive_mask_offset_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.emissive_mask_offset_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Emission Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Emission Color")
- backendValue: backendValues.emission_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+ PropertyLabel {}
- Section {
- caption: qsTr("Metal Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Metal Color")
- backendValue: backendValues.metal_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.emissive_mask_offset_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
+ }
}
}
Section {
caption: qsTr("Roughness")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel { text: qsTr("Metal Color") }
+
+ ColorEditor {
+ backendValue: backendValues.metal_color
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
text: qsTr("Map Offset")
tooltip: qsTr("Set the material roughness map offset.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness_map_offset
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Map scale")
tooltip: qsTr("Set the material roughness map scale.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness_map_scale
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for roughness map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.roughness_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Reflection")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Map Offset")
- tooltip: qsTr("Set the material reclection map offset.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.reflection_map_offset
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Map scale")
- tooltip: qsTr("Set the material reclection map scale.")
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Map Offset")
+ tooltip: qsTr("Set the material reclection map offset.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.reflection_map_offset
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.reflection_map_scale
- Layout.fillWidth: true
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Map scale")
+ tooltip: qsTr("Set the material reclection map scale.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.reflection_map_scale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- Label {
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for reflection map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.reflection_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
+
+ PropertyLabel {
+ text: qsTr("Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the reflection map.")
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Tiling")
- tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Bump")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Set the bump map bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2
minimumValue: 0
+ maximumValue: 2
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bump_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/AluminumEmissiveMaterialSpecifics.qml b/src/imports/materiallib/designer/AluminumEmissiveMaterialSpecifics.qml
index 577f0eaf..ea3b6776 100644
--- a/src/imports/materiallib/designer/AluminumEmissiveMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/AluminumEmissiveMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
AluminumEmissiveMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/AluminumMaterialSection.qml b/src/imports/materiallib/designer/AluminumMaterialSection.qml
index 2f338193..762819c8 100644
--- a/src/imports/materiallib/designer/AluminumMaterialSection.qml
+++ b/src/imports/materiallib/designer/AluminumMaterialSection.qml
@@ -28,278 +28,253 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("Roughness")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
+ PropertyLabel { text: qsTr("Metal Color") }
+
+ ColorEditor {
+ backendValue: backendValues.metal_color
+ supportGradient: false
+ isVector3D: true
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
+
+ PropertyLabel {
+ text: qsTr("Map Offset")
+ tooltip: qsTr("Set the material roughness map offset.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.roughness_map_offset
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
+ ExpandingSpacer {}
+ }
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ PropertyLabel {
+ text: qsTr("Map scale")
+ tooltip: qsTr("Set the material roughness map scale.")
}
+
SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.roughness_map_scale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
+ tooltip: qsTr("Defines a texture for roughness map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
+ backendValue: backendValues.roughness_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
Section {
- caption: qsTr("Metal Color")
+ caption: qsTr("Reflection")
width: parent.width
- ColorEditor {
- caption: qsTr("Metal Color")
- backendValue: backendValues.metal_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("Roughness")
- width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Map Offset")
- tooltip: qsTr("Set the material roughness map offset.")
+ tooltip: qsTr("Set the material reclection map offset.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
- backendValue: backendValues.roughness_map_offset
- Layout.fillWidth: true
+ backendValue: backendValues.reflection_map_offset
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Map scale")
- tooltip: qsTr("Set the material roughness map scale.")
+ tooltip: qsTr("Set the material reclection map scale.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
- backendValue: backendValues.roughness_map_scale
- Layout.fillWidth: true
+ backendValue: backendValues.reflection_map_scale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for roughness map.")
+ tooltip: qsTr("Defines a texture for reflection map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.roughness_texture_texture
+ backendValue: backendValues.reflection_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Reflection")
- width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Map Offset")
- tooltip: qsTr("Set the material reclection map offset.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.reflection_map_offset
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Map scale")
- tooltip: qsTr("Set the material reclection map scale.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.reflection_map_scale
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for reflection map.")
+ PropertyLabel {
+ text: qsTr("Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the reflection map.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.reflection_texture_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
+ }
+
+ ExpandingSpacer {}
}
- }
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Tiling")
- tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.tiling_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.tiling_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Bump")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Set the bump map bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2
minimumValue: 0
+ maximumValue: 2
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bump_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/AluminumMaterialSpecifics.qml b/src/imports/materiallib/designer/AluminumMaterialSpecifics.qml
index 642c07c2..bbbdc71d 100644
--- a/src/imports/materiallib/designer/AluminumMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/AluminumMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
AluminumMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/CopperMaterialSection.qml b/src/imports/materiallib/designer/CopperMaterialSection.qml
index 345622fb..42632691 100644
--- a/src/imports/materiallib/designer/CopperMaterialSection.qml
+++ b/src/imports/materiallib/designer/CopperMaterialSection.qml
@@ -28,103 +28,43 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("General")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
+ PropertyLabel { text: qsTr("Metal Color") }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
+ ColorEditor {
+ backendValue: backendValues.metal_color
+ supportGradient: false
+ isVector3D: true
}
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Metal Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Metal Color")
- backendValue: backendValues.metal_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("General")
- width: parent.width
- SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/CopperMaterialSpecifics.qml b/src/imports/materiallib/designer/CopperMaterialSpecifics.qml
index 001c6ba4..85e54ed6 100644
--- a/src/imports/materiallib/designer/CopperMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/CopperMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
CopperMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/CustomMaterialSection.qml b/src/imports/materiallib/designer/CustomMaterialSection.qml
index bf540c5e..059774a4 100644
--- a/src/imports/materiallib/designer/CustomMaterialSection.qml
+++ b/src/imports/materiallib/designer/CustomMaterialSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,54 +40,77 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Transparency")
tooltip: qsTr("Specifies if the material has transparency.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.hasTransparency.valueToString
backendValue: backendValues.hasTransparency
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Refraction")
tooltip: qsTr("Specifies if the material has refraction.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.hasRefraction.valueToString
backendValue: backendValues.hasRefraction
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Always Dirty")
tooltip: qsTr("Specifies if the material needs to be refreshed every time it is used.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.alwaysDirty.valueToString
backendValue: backendValues.alwaysDirty
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Shader Info")
tooltip: qsTr("Shader info for the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.ShaderInfo"
- Layout.fillWidth: true
backendValue: backendValues.shaderInfo
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Passes")
tooltip: qsTr("Render passes of the material.")
+ Layout.alignment: Qt.AlignTop
+ Layout.topMargin: 5
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.passes
@@ -98,6 +122,8 @@ Column {
onRemove: function(idx) { backendValues.passes.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.passes.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
}
}
@@ -108,53 +134,72 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Light Probe")
tooltip: qsTr("Defines a texture for overriding or setting an image based lighting texture for use with this material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.lightProbe
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Displacement Map")
tooltip: qsTr("Defines a grayscale image used to offset the vertices of geometry across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.displacementMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Displacement Amount")
tooltip: qsTr("Controls the offset amount for the displacement map.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
+ maximumValue: 9999999
decimals: 0
backendValue: backendValues.displacementAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Culling Mode")
tooltip: qsTr("Defines whether culling is enabled and which mode is actually enabled.")
}
- ComboBox {
- scope: "Material"
- model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
- backendValue: backendValues.cullMode
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Material"
+ model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
+ backendValue: backendValues.cullMode
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
}
-
diff --git a/src/imports/materiallib/designer/CustomMaterialSpecifics.qml b/src/imports/materiallib/designer/CustomMaterialSpecifics.qml
index ada74545..8957ad70 100644
--- a/src/imports/materiallib/designer/CustomMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/CustomMaterialSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/materiallib/designer/EnvironmentMapSection.qml b/src/imports/materiallib/designer/EnvironmentMapSection.qml
new file mode 100644
index 00000000..4a7639ce
--- /dev/null
+++ b/src/imports/materiallib/designer/EnvironmentMapSection.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick 3D.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+Section {
+ caption: qsTr("Environment Map")
+ width: parent.width
+
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Enabled")
+ tooltip: qsTr("Specifies if the environment map is enabled.")
+ }
+
+ SecondColumnLayout {
+ CheckBox {
+ text: backendValues.uEnvironmentMappingEnabled.valueToString
+ backendValue: backendValues.uEnvironmentMappingEnabled
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Texture")
+ tooltip: qsTr("Defines a texture for environment map.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.uEnvironmentTexture_texture
+ defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+} \ No newline at end of file
diff --git a/src/imports/materiallib/designer/FrostedGlassMaterialSection.qml b/src/imports/materiallib/designer/FrostedGlassMaterialSection.qml
index 65b1f6c1..ad6cbff4 100644
--- a/src/imports/materiallib/designer/FrostedGlassMaterialSection.qml
+++ b/src/imports/materiallib/designer/FrostedGlassMaterialSection.qml
@@ -28,238 +28,174 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("Bump")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
+ PropertyLabel {
+ text: qsTr("Scale")
+ tooltip: qsTr("Set the scale of the bump bands.")
}
+
SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 5
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.bumpScale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
+
+ PropertyLabel {
+ text: qsTr("Bands")
+ tooltip: qsTr("Set the number of the bump bands.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10
+ decimals: 0
+ backendValue: backendValues.bumpBands
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
+ PropertyLabel {
+ text: qsTr("Strength")
+ tooltip: qsTr("Set the glass bump map strength.")
+ }
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.glass_bfactor
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Internal")
+ tooltip: qsTr("Specifies if the bump map be used only for the internal lighting.")
}
+
SecondColumnLayout {
CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
+ text: backendValues.glass_binside.valueToString
+ backendValue: backendValues.glass_binside
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
+ tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
+ backendValue: backendValues.glass_bump_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
+ PropertyLabel {
+ text: qsTr("Coordinates")
+ tooltip: qsTr("Sets the bump coordinates of the refraction.")
+ }
- Section {
- caption: qsTr("Glass Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Glass Color")
- backendValue: backendValues.glass_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
- Section {
- caption: qsTr("Band Light Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Band Light Color")
- backendValue: backendValues.intLightCol
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- Section {
- caption: qsTr("Bump")
- width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Scale")
- tooltip: qsTr("Set the scale of the bump bands.")
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 5
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.bumpScale
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Bands")
- tooltip: qsTr("Set the number of the bump bands.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 10
- minimumValue: 0
- decimals: 0
- backendValue: backendValues.bumpBands
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Strength")
- tooltip: qsTr("Set the glass bump map strength.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.glass_bfactor
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Internal")
- tooltip: qsTr("Specifies if the bump map be used only for the internal lighting.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.glass_binside.valueToString
- backendValue: backendValues.glass_binside
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for bump map.")
+
+ ExpandingSpacer {}
}
+
+ PropertyLabel {}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.glass_bump_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Coordinates")
- tooltip: qsTr("Sets the bump coordinates of the refraction.")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
}
+
+ ExpandingSpacer {}
}
}
}
@@ -267,11 +203,21 @@ Column {
Section {
caption: qsTr("General")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel { text: qsTr("Glass Color") }
+
+ ColorEditor {
+ backendValue: backendValues.glass_color
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -279,222 +225,287 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blur Size")
tooltip: qsTr("Set the amount of blurring behind the glass.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 50
minimumValue: 0
+ maximumValue: 50
decimals: 2
backendValue: backendValues.blur_size
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Refract Depth")
tooltip: qsTr("Set the refract depth of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 5
minimumValue: 0
+ maximumValue: 5
decimals: 2
stepSize: 0.1
backendValue: backendValues.refract_depth
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Fresnel Power")
tooltip: qsTr("Set the fresnel power of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 100
minimumValue: 0
+ maximumValue: 100
decimals: 2
backendValue: backendValues.uFresnelPower
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflectivity")
tooltip: qsTr("Set the reflectivity of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflectivity_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2.1
minimumValue: 1.4
+ maximumValue: 2.1
decimals: 2
stepSize: 0.1
backendValue: backendValues.glass_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Band Light")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Falloff")
- tooltip: qsTr("Set the light intensity falloff rate.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 10
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.intLightFall
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Angle")
- tooltip: qsTr("Set the angle of lightsource. Band is perpendicular to this.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 360
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.intLightRot
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Brightness")
- tooltip: qsTr("Set the brightness of the band light.")
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Band Light Color") }
+
+ ColorEditor {
+ backendValue: backendValues.intLightCol
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
+ text: qsTr("Falloff")
+ tooltip: qsTr("Set the light intensity falloff rate.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10
+ decimals: 2
+ backendValue: backendValues.intLightFall
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.intLightBrt
- Layout.fillWidth: true
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Angle")
+ tooltip: qsTr("Set the angle of lightsource. Band is perpendicular to this.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 360
+ decimals: 2
+ backendValue: backendValues.intLightRot
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Position")
- tooltip: qsTr("Sets the Position of the band light in the UV space.")
+
+ PropertyLabel {
+ text: qsTr("Brightness")
+ tooltip: qsTr("Set the brightness of the band light.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.intLightBrt
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.intLightPos_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Position")
+ tooltip: qsTr("Sets the Position of the band light in the UV space.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.intLightPos_x
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.intLightPos_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.intLightPos_y
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Random Gradient Maps")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("1D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient1D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("2D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient2D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("3D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient3D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("4D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient4D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/FrostedGlassMaterialSpecifics.qml b/src/imports/materiallib/designer/FrostedGlassMaterialSpecifics.qml
index 21b69720..7ff98b57 100644
--- a/src/imports/materiallib/designer/FrostedGlassMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/FrostedGlassMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
FrostedGlassMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSection.qml b/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSection.qml
index 9d9e1062..1c77d2ce 100644
--- a/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSection.qml
+++ b/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSection.qml
@@ -28,189 +28,123 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("Bump")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
+ PropertyLabel {
+ text: qsTr("Scale")
+ tooltip: qsTr("Set the scale of the bump bands.")
}
+
SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 5
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.bumpScale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
+
+ PropertyLabel {
+ text: qsTr("Bands")
+ tooltip: qsTr("Set the number of the bump bands.")
}
+
SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10
+ decimals: 0
+ backendValue: backendValues.bumpBands
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
- }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
+ ExpandingSpacer {}
+ }
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ PropertyLabel {
+ text: qsTr("Coordinates")
+ tooltip: qsTr("Sets the bump coordinates of the refraction.")
}
+
SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
- }
- }
- }
+ ExpandingSpacer {}
+ }
- Section {
- caption: qsTr("Glass Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Glass Color")
- backendValue: backendValues.glass_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+ PropertyLabel {}
- Section {
- caption: qsTr("Bump")
- width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Scale")
- tooltip: qsTr("Set the scale of the bump bands.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 5
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.bumpScale
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Bands")
- tooltip: qsTr("Set the number of the bump bands.")
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 10
- minimumValue: 0
- decimals: 0
- backendValue: backendValues.bumpBands
- Layout.fillWidth: true
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Coordinates")
- tooltip: qsTr("Sets the bump coordinates of the refraction.")
- }
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.bumpCoords_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.bumpCoords_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
}
+
+ ExpandingSpacer {}
}
}
}
@@ -218,159 +152,203 @@ Column {
Section {
caption: qsTr("General")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel { text: qsTr("Glass Color") }
+
+ ColorEditor {
+ backendValue: backendValues.glass_color
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blur Size")
tooltip: qsTr("Set the amount of blurring behind the glass.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 50
minimumValue: 0
+ maximumValue: 50
decimals: 2
backendValue: backendValues.blur_size
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Fresnel Power")
tooltip: qsTr("Set the fresnel power of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 100
minimumValue: 0
+ maximumValue: 100
decimals: 2
backendValue: backendValues.uFresnelPower
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflectivity")
tooltip: qsTr("Set the reflectivity of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflectivity_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2.1
minimumValue: 1.4
+ maximumValue: 2.1
decimals: 2
stepSize: 0.1
backendValue: backendValues.glass_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Noise")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Scale")
- tooltip: qsTr("Set the noise scale.")
+
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Scale")
+ tooltip: qsTr("Set the noise scale.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 40
+ decimals: 2
+ backendValue: backendValues.noiseScale
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 40
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.noiseScale
- Layout.fillWidth: true
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Coordinates")
+ tooltip: qsTr("Sets the noise coordinates.")
+ }
+
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.noiseCoords_x
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
+ }
+
+ ExpandingSpacer {}
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Coordinates")
- tooltip: qsTr("Sets the noise coordinates.")
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.noiseCoords_y
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.noiseCoords_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.noiseCoords_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ ExpandingSpacer {}
+ }
+
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 10000
+ decimals: 2
+ backendValue: backendValues.noiseCoords_z
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Z")
- width: materialRoot.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
- }
- SpinBox {
- maximumValue: 10000
- minimumValue: 0
- realDragRange: 1000
- decimals: 2
- backendValue: backendValues.noiseCoords_z
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
}
+
+ ExpandingSpacer {}
}
}
}
@@ -378,54 +356,74 @@ Column {
Section {
caption: qsTr("Random Gradient Maps")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("1D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient1D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("2D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient2D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("3D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient3D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("4D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient4D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSpecifics.qml b/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSpecifics.qml
index b18c1ac0..9f8b16af 100644
--- a/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/FrostedGlassSinglePassMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
FrostedGlassSinglePassMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/GlassMaterialSection.qml b/src/imports/materiallib/designer/GlassMaterialSection.qml
index 19c0515e..e066307b 100644
--- a/src/imports/materiallib/designer/GlassMaterialSection.qml
+++ b/src/imports/materiallib/designer/GlassMaterialSection.qml
@@ -28,150 +28,99 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("General")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
+ PropertyLabel { text: qsTr("Glass Color") }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ ColorEditor {
+ backendValue: backendValues.glass_color
+ supportGradient: false
+ isVector3D: true
}
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
-
- Section {
- caption: qsTr("Glass Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Glass Color")
- backendValue: backendValues.glass_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("General")
- width: parent.width
- SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Fresnel Power")
tooltip: qsTr("Set the fresnel power of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 100
minimumValue: 0
+ maximumValue: 100
decimals: 2
backendValue: backendValues.uFresnelPower
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Minimum Opacity")
tooltip: qsTr("Set the minimum opacity of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.uMinOpacity
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflectivity")
tooltip: qsTr("Set the reflectivity of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflectivity_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2.1
minimumValue: 1.4
+ maximumValue: 2.1
decimals: 2
stepSize: 0.1
backendValue: backendValues.glass_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/GlassMaterialSpecifics.qml b/src/imports/materiallib/designer/GlassMaterialSpecifics.qml
index f53b1a43..b3ce4a0c 100644
--- a/src/imports/materiallib/designer/GlassMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/GlassMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
GlassMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/GlassRefractiveMaterialSection.qml b/src/imports/materiallib/designer/GlassRefractiveMaterialSection.qml
index f5f7b282..6ec799ac 100644
--- a/src/imports/materiallib/designer/GlassRefractiveMaterialSection.qml
+++ b/src/imports/materiallib/designer/GlassRefractiveMaterialSection.qml
@@ -28,150 +28,99 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("General")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
+ PropertyLabel { text: qsTr("Glass Color") }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ ColorEditor {
+ backendValue: backendValues.glass_color
+ supportGradient: false
+ isVector3D: true
}
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
-
- Section {
- caption: qsTr("Glass Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Glass Color")
- backendValue: backendValues.glass_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("General")
- width: parent.width
- SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Fresnel Power")
tooltip: qsTr("Set the fresnel power of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 100
minimumValue: 0
+ maximumValue: 100
decimals: 2
backendValue: backendValues.uFresnelPower
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the roughness of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflectivity")
tooltip: qsTr("Set the reflectivity of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflectivity_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2.1
minimumValue: 1.4
+ maximumValue: 2.1
decimals: 2
stepSize: 0.1
backendValue: backendValues.glass_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/GlassRefractiveMaterialSpecifics.qml b/src/imports/materiallib/designer/GlassRefractiveMaterialSpecifics.qml
index 04684a7a..d5ee4978 100644
--- a/src/imports/materiallib/designer/GlassRefractiveMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/GlassRefractiveMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
GlassRefractiveMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/IdComboBox.qml b/src/imports/materiallib/designer/IdComboBox.qml
index be341ae4..4111ad0e 100644
--- a/src/imports/materiallib/designer/IdComboBox.qml
+++ b/src/imports/materiallib/designer/IdComboBox.qml
@@ -28,9 +28,9 @@
****************************************************************************/
import QtQuick 2.15
-import HelperWidgets 2.0 as HelperWidgets
+import HelperWidgets 2.0
-HelperWidgets.ComboBox {
+ComboBox {
id: comboBox
property alias typeFilter: itemFilterModel.typeFilter
@@ -41,7 +41,7 @@ HelperWidgets.ComboBox {
textInput.validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
- HelperWidgets.ItemFilterModel {
+ ItemFilterModel {
id: itemFilterModel
modelNodeBackendProperty: modelNodeBackend
}
diff --git a/src/imports/materiallib/designer/PaperArtisticMaterialSection.qml b/src/imports/materiallib/designer/PaperArtisticMaterialSection.qml
index 65d9d662..a460243e 100644
--- a/src/imports/materiallib/designer/PaperArtisticMaterialSection.qml
+++ b/src/imports/materiallib/designer/PaperArtisticMaterialSection.qml
@@ -28,87 +28,23 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- Section {
- caption: qsTr("Environment Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
Section {
caption: qsTr("Transmission")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Transmission Weight")
tooltip: qsTr("Set the material transmission weight.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -116,13 +52,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.transmission_weight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflection Weight")
tooltip: qsTr("Set the material reflection weight.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -130,109 +71,126 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflection_weight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for transmission map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.transmission_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("General")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Translucency Falloff")
- tooltip: qsTr("Set the falloff of the translucency of the material.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 100
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.uTranslucentFalloff
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Opacity")
- tooltip: qsTr("Set the opacity of the material.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 100
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.uOpacity
- Layout.fillWidth: true
- }
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Translucency Falloff")
+ tooltip: qsTr("Set the falloff of the translucency of the material.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 100
+ minimumValue: 0
+ decimals: 2
+ backendValue: backendValues.uTranslucentFalloff
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Texture Tiling")
- tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ PropertyLabel {
+ text: qsTr("Opacity")
+ tooltip: qsTr("Set the opacity of the material.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 100
+ decimals: 2
+ backendValue: backendValues.uOpacity
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Texture Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.texture_tiling_x
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ SpinBox {
+ maximumValue: 1
+ minimumValue: 0
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.texture_tiling_y
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Diffuse Map")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Light Wrap")
tooltip: qsTr("Set the diffuse light bend of the material.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -240,52 +198,71 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.uDiffuseLightWrap
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for diffuse map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.diffuse_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Bump")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Set the bump map bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2
minimumValue: 0
+ maximumValue: 2
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bump_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/PaperArtisticMaterialSpecifics.qml b/src/imports/materiallib/designer/PaperArtisticMaterialSpecifics.qml
index ba115fad..4dc78629 100644
--- a/src/imports/materiallib/designer/PaperArtisticMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/PaperArtisticMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
PaperArtisticMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/PaperOfficeMaterialSection.qml b/src/imports/materiallib/designer/PaperOfficeMaterialSection.qml
index c715692e..0ecd9736 100644
--- a/src/imports/materiallib/designer/PaperOfficeMaterialSection.qml
+++ b/src/imports/materiallib/designer/PaperOfficeMaterialSection.qml
@@ -28,244 +28,249 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
Section {
caption: qsTr("Transmission")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Transmission Weight")
tooltip: qsTr("Set the material transmission weight.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.transmission_weight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Reflection Weight")
tooltip: qsTr("Set the material reflection weight.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.reflection_weight
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for transmission map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.transmission_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("General")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- SectionLayout {
- Label {
- text: qsTr("Translucency Falloff")
- tooltip: qsTr("Set the falloff of the translucency of the material.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 100
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.uTranslucentFalloff
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Opacity")
- tooltip: qsTr("Set the opacity of the material.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 100
- minimumValue: 0
- decimals: 2
- backendValue: backendValues.uOpacity
- Layout.fillWidth: true
- }
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Translucency Falloff")
+ tooltip: qsTr("Set the falloff of the translucency of the material.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 100
+ decimals: 2
+ backendValue: backendValues.uTranslucentFalloff
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Opacity")
+ tooltip: qsTr("Set the opacity of the material.")
}
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Texture Tiling")
- tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 100
+ decimals: 2
+ backendValue: backendValues.uOpacity
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Texture Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the reflection map.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.texture_tiling_x
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ SpinBox {
+ maximumValue: 1
+ minimumValue: 0
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.texture_tiling_y
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Paper Color") }
+
+ ColorEditor {
+ backendValue: backendValues.paper_color
+ supportGradient: false
+ isVector3D: true
}
}
}
- Section {
- caption: qsTr("Paper Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Paper Color")
- backendValue: backendValues.paper_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
+
Section {
caption: qsTr("Diffuse Map")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Light Wrap")
tooltip: qsTr("Set the diffuse light bend of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.uDiffuseLightWrap
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for diffuse map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.diffuse_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Bump")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Amount")
tooltip: qsTr("Set the bump map bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2
minimumValue: 0
+ maximumValue: 2
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_amount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Defines a texture for bump map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bump_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/PaperOfficeMaterialSpecifics.qml b/src/imports/materiallib/designer/PaperOfficeMaterialSpecifics.qml
index 81643b22..18f44369 100644
--- a/src/imports/materiallib/designer/PaperOfficeMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/PaperOfficeMaterialSpecifics.qml
@@ -28,12 +28,16 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ ShadowMapSection {
+ width: parent.width
+ }
+
PaperOfficeMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSection.qml b/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSection.qml
index e54c1d44..511f2d8d 100644
--- a/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSection.qml
+++ b/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSection.qml
@@ -28,262 +28,243 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- Section {
- caption: qsTr("Environment Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
-
- Section {
- caption: qsTr("Diffuse Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Diffuse Color")
- backendValue: backendValues.diffuse_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
-
Section {
caption: qsTr("Emission")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Intensity")
tooltip: qsTr("Set the emission intensity.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.intensity
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Map Texture")
tooltip: qsTr("Defines a texture for emissive map.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("MaskTexture")
tooltip: qsTr("Defines a texture for emissive mask.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.emissive_mask_texture_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Emission Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Emission Color")
- backendValue: backendValues.emission_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Emission Color") }
+
+ ColorEditor {
+ backendValue: backendValues.emission_color
+ supportGradient: false
+ isVector3D: true
+ }
}
}
Section {
caption: qsTr("General")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel { text: qsTr("Diffuse Color") }
+
+ ColorEditor {
+ backendValue: backendValues.diffuse_color
+ supportGradient: false
+ isVector3D: true
+ }
+
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1.6
minimumValue: 1.4
+ maximumValue: 1.6
decimals: 3
stepSize: 0.01
backendValue: backendValues.material_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture Scaling")
tooltip: qsTr("Set the texture scaling of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.texture_scaling
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Bump Factor")
tooltip: qsTr("Set the strength of the bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_factor
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Random Gradient Maps")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("1D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient1D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("2D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient2D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("3D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient3D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("4D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient4D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSpecifics.qml b/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSpecifics.qml
index c101f8b5..93860a35 100644
--- a/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/PlasticStructuredRedEmissiveMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
PlasticStructuredRedEmissiveMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/PlasticStructuredRedMaterialSection.qml b/src/imports/materiallib/designer/PlasticStructuredRedMaterialSection.qml
index 29ad1617..5aa55ba9 100644
--- a/src/imports/materiallib/designer/PlasticStructuredRedMaterialSection.qml
+++ b/src/imports/materiallib/designer/PlasticStructuredRedMaterialSection.qml
@@ -28,205 +28,175 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
Section {
- caption: qsTr("Environment Map")
+ caption: qsTr("General")
width: parent.width
SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
+ PropertyLabel { text: qsTr("Diffuse Color") }
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
+ ColorEditor {
+ backendValue: backendValues.diffuse_color
+ supportGradient: false
+ isVector3D: true
}
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
-
- Section {
- caption: qsTr("Diffuse Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Diffuse Color")
- backendValue: backendValues.diffuse_color
- supportGradient: false
- isVector3D: true
- Layout.fillWidth: true
- }
- }
- Section {
- caption: qsTr("General")
- width: parent.width
- SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Set the material roughness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1.6
minimumValue: 1.4
+ maximumValue: 1.6
decimals: 3
stepSize: 0.01
backendValue: backendValues.material_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Texture Scaling")
tooltip: qsTr("Set the texture scaling of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.texture_scaling
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Bump Factor")
tooltip: qsTr("Set the strength of the bumpiness.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.bump_factor
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
+
Section {
caption: qsTr("Random Gradient Maps")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("1D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient1D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("2D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient2D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("3D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient3D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("4D")
tooltip: qsTr("Defines a texture map used to create the random bumpiness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.randomGradient4D_texture
defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/PlasticStructuredRedMaterialSpecifics.qml b/src/imports/materiallib/designer/PlasticStructuredRedMaterialSpecifics.qml
index 6f28aec6..51fcf0b8 100644
--- a/src/imports/materiallib/designer/PlasticStructuredRedMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/PlasticStructuredRedMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
PlasticStructuredRedMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/ShadowMapSection.qml b/src/imports/materiallib/designer/ShadowMapSection.qml
new file mode 100644
index 00000000..d141f6fa
--- /dev/null
+++ b/src/imports/materiallib/designer/ShadowMapSection.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick 3D.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+Section {
+ caption: qsTr("Shadow Map")
+ width: parent.width
+
+ SectionLayout {
+ PropertyLabel {
+ text: qsTr("Enabled")
+ tooltip: qsTr("Specifies if the shadow map is enabled.")
+ }
+
+ SecondColumnLayout {
+ CheckBox {
+ text: backendValues.uShadowMappingEnabled.valueToString
+ backendValue: backendValues.uShadowMappingEnabled
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Texture")
+ tooltip: qsTr("Defines a texture for shadow map.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.uBakedShadowTexture_texture
+ defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+} \ No newline at end of file
diff --git a/src/imports/materiallib/designer/SteelMilledConcentricMaterialSection.qml b/src/imports/materiallib/designer/SteelMilledConcentricMaterialSection.qml
index 182b3ade..6b033712 100644
--- a/src/imports/materiallib/designer/SteelMilledConcentricMaterialSection.qml
+++ b/src/imports/materiallib/designer/SteelMilledConcentricMaterialSection.qml
@@ -28,110 +28,54 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
- id: materialRoot
width: parent.width
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
-
- Section {
- caption: qsTr("Environment Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the environment map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uEnvironmentMappingEnabled.valueToString
- backendValue: backendValues.uEnvironmentMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for environment map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uEnvironmentTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
- Section {
- caption: qsTr("Shadow Map")
- width: parent.width
-
- SectionLayout {
- Label {
- text: qsTr("Enabled")
- tooltip: qsTr("Specifies if the shadow map is enabled.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.uShadowMappingEnabled.valueToString
- backendValue: backendValues.uShadowMappingEnabled
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Texture")
- tooltip: qsTr("Defines a texture for shadow map.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.uBakedShadowTexture_texture
- defaultItem: qsTr("Default")
- }
- }
- }
- }
-
Section {
caption: qsTr("General")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Index of Refraction")
tooltip: qsTr("Set the index of refraction for the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 2.97
minimumValue: 0.47
+ maximumValue: 2.97
decimals: 2
stepSize: 0.1
backendValue: backendValues.material_ior
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Anisotropy")
tooltip: qsTr("Set the anisotropy of the material.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 1
minimumValue: 0.01
+ maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.anisotropy
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -140,74 +84,79 @@ Column {
caption: qsTr("Textures")
width: parent.width
- ColumnLayout {
- width: parent.width - 16
- ColumnLayout {
- width: parent.width
- Label {
- width: 100
- text: qsTr("Tiling")
- tooltip: qsTr("Sets the tiling repeat of the texture maps.")
- }
+ SectionLayout {
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_x
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
- RowLayout {
- spacing: materialRoot.labelSpinBoxSpacing
-
- Label {
- text: qsTr("Y")
- width: materialRoot.labelWidth
- }
- SpinBox {
- maximumValue: 100
- minimumValue: 1
- decimals: 0
- backendValue: backendValues.texture_tiling_y
- Layout.fillWidth: true
- Layout.minimumWidth: materialRoot.spinBoxMinimumWidth
- }
- }
+ PropertyLabel {
+ text: qsTr("Tiling")
+ tooltip: qsTr("Sets the tiling repeat of the texture maps.")
}
- SectionLayout {
- Label {
- text: qsTr("Diffuse")
- tooltip: qsTr("Defines a texture for diffuse map.")
+
+ SecondColumnLayout {
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.texture_tiling_x
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.diffuse_texture_texture
- defaultItem: qsTr("Default")
- }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "X" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ SpinBox {
+ minimumValue: 1
+ maximumValue: 100
+ decimals: 0
+ backendValue: backendValues.texture_tiling_y
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- Label {
- text: qsTr("Anisotropy")
- tooltip: qsTr("Defines a texture for anisotropy map.")
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel { text: "Y" }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Diffuse")
+ tooltip: qsTr("Defines a texture for diffuse map.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.diffuse_texture_texture
+ defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.anisotropy_rot_texture_texture
- defaultItem: qsTr("Default")
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Anisotropy")
+ tooltip: qsTr("Defines a texture for anisotropy map.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.anisotropy_rot_texture_texture
+ defaultItem: qsTr("Default")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/materiallib/designer/SteelMilledConcentricMaterialSpecifics.qml b/src/imports/materiallib/designer/SteelMilledConcentricMaterialSpecifics.qml
index 2d357149..41bc1547 100644
--- a/src/imports/materiallib/designer/SteelMilledConcentricMaterialSpecifics.qml
+++ b/src/imports/materiallib/designer/SteelMilledConcentricMaterialSpecifics.qml
@@ -28,12 +28,20 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
+ EnvironmentMapSection {
+ width: parent.width
+ }
+
+ ShadowMapSection {
+ width: parent.width
+ }
+
SteelMilledConcentricMaterialSection {
width: parent.width
}
diff --git a/src/imports/materiallib/designer/designer.pri b/src/imports/materiallib/designer/designer.pri
index 70fb8b27..f054a8ea 100644
--- a/src/imports/materiallib/designer/designer.pri
+++ b/src/imports/materiallib/designer/designer.pri
@@ -34,7 +34,9 @@ AUX_QML_FILES += \
$$PWD/SteelMilledConcentricMaterialSection.qml \
$$PWD/SteelMilledConcentricMaterialSpecifics.qml \
$$PWD/CustomMaterialSection.qml \
- $$PWD/CustomMaterialSpecifics.qml
+ $$PWD/CustomMaterialSpecifics.qml \
+ $$PWD/EnvironmentMapSection.qml \
+ $$PWD/ShadowMapSection.qml
AUX_QML_FILES += \
$$PWD/source/custommaterial_template.qml \
diff --git a/src/imports/quick3d/designer/AreaLightSection.qml b/src/imports/quick3d/designer/AreaLightSection.qml
index ad5efa55..487d67c2 100644
--- a/src/imports/quick3d/designer/AreaLightSection.qml
+++ b/src/imports/quick3d/designer/AreaLightSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,22 +40,27 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Scope")
tooltip: qsTr("Sets the scope of the light. Only the node and its children are affected by this light.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Node"
- Layout.fillWidth: true
backendValue: backendValues.scope
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Brightness")
tooltip: qsTr("Sets the strength of the light.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -62,14 +68,18 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.brightness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Width")
tooltip: qsTr("Sets the width of the area light's rectangle.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -77,14 +87,18 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.width
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Height")
tooltip: qsTr("Sets the height of the area light's rectangle.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -92,37 +106,30 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.height
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Color")
- width: parent.width
+ PropertyLabel { text: qsTr("Color") }
- ColorEditor {
- caption: qsTr("Color")
- backendValue: backendValues.color
- supportGradient: false
- Layout.fillWidth: true
- }
- }
+ ColorEditor {
+ backendValue: backendValues.color
+ supportGradient: false
+ }
- Section {
- caption: qsTr("Ambient Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Ambient Color")
- backendValue: backendValues.ambientColor
- supportGradient: false
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Ambient Color") }
+
+ ColorEditor {
+ backendValue: backendValues.ambientColor
+ supportGradient: false
+ }
}
}
ShadowSection {
width: parent.width
}
-
}
diff --git a/src/imports/quick3d/designer/AreaLightSpecifics.qml b/src/imports/quick3d/designer/AreaLightSpecifics.qml
index 2479e02b..aee47ed2 100644
--- a/src/imports/quick3d/designer/AreaLightSpecifics.qml
+++ b/src/imports/quick3d/designer/AreaLightSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/BlendingSection.qml b/src/imports/quick3d/designer/BlendingSection.qml
index 2f29301b..f6988c3a 100644
--- a/src/imports/quick3d/designer/BlendingSection.qml
+++ b/src/imports/quick3d/designer/BlendingSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,25 +40,44 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Source blending for a pass.")
}
- ComboBox {
- scope: "Blending"
- model: ["Unknown", "Zero", "One", "SrcColor", "OneMinusSrcColor", "DstColor", "OneMinusDstColor", "SrcAlpha", "OneMinusSrcAlpha", "DstAlpha", "OneMinusDstAlpha", "ConstantColor", "OneMinusConstantColor", "ConstantAlpha", "OneMinusConstantAlpha", "SrcAlphaSaturate"]
- backendValue: backendValues.srcBlending
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Blending"
+ model: ["Unknown", "Zero", "One", "SrcColor", "OneMinusSrcColor", "DstColor",
+ "OneMinusDstColor", "SrcAlpha", "OneMinusSrcAlpha", "DstAlpha",
+ "OneMinusDstAlpha", "ConstantColor", "OneMinusConstantColor",
+ "ConstantAlpha", "OneMinusConstantAlpha", "SrcAlphaSaturate"]
+ backendValue: backendValues.srcBlending
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Destination")
tooltip: qsTr("Destination blending for a pass.")
}
- ComboBox {
- scope: "Blending"
- model: ["Unknown", "Zero", "One", "SrcColor", "OneMinusSrcColor", "DstColor", "OneMinusDstColor", "SrcAlpha", "OneMinusSrcAlpha", "DstAlpha", "OneMinusDstAlpha", "ConstantColor", "OneMinusConstantColor", "ConstantAlpha", "OneMinusConstantAlpha"]
- backendValue: backendValues.destBlending
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Blending"
+ model: ["Unknown", "Zero", "One", "SrcColor", "OneMinusSrcColor", "DstColor",
+ "OneMinusDstColor", "SrcAlpha", "OneMinusSrcAlpha", "DstAlpha",
+ "OneMinusDstAlpha", "ConstantColor", "OneMinusConstantColor",
+ "ConstantAlpha", "OneMinusConstantAlpha"]
+ backendValue: backendValues.destBlending
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/BlendingSpecifics.qml b/src/imports/quick3d/designer/BlendingSpecifics.qml
index 6e1567f6..824dbd84 100644
--- a/src/imports/quick3d/designer/BlendingSpecifics.qml
+++ b/src/imports/quick3d/designer/BlendingSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/BufferBlitSection.qml b/src/imports/quick3d/designer/BufferBlitSection.qml
index b5d26831..efb28901 100644
--- a/src/imports/quick3d/designer/BufferBlitSection.qml
+++ b/src/imports/quick3d/designer/BufferBlitSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,27 +40,36 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Source buffer for the buffer blit.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Buffer"
- Layout.fillWidth: true
backendValue: backendValues.source
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Destination")
tooltip: qsTr("Destination buffer for the buffer blit.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Buffer"
- Layout.fillWidth: true
backendValue: backendValues.destination
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/BufferBlitSpecifics.qml b/src/imports/quick3d/designer/BufferBlitSpecifics.qml
index 289c12f0..7c97bbc5 100644
--- a/src/imports/quick3d/designer/BufferBlitSpecifics.qml
+++ b/src/imports/quick3d/designer/BufferBlitSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/BufferInputSection.qml b/src/imports/quick3d/designer/BufferInputSection.qml
index 421c312d..ec90b1e1 100644
--- a/src/imports/quick3d/designer/BufferInputSection.qml
+++ b/src/imports/quick3d/designer/BufferInputSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,27 +40,37 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Buffer")
tooltip: qsTr("Input buffer for a pass.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Buffer"
- Layout.fillWidth: true
backendValue: backendValues.buffer
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Parameter")
tooltip: qsTr("Buffer input buffer name in the shader.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.param
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/BufferInputSpecifics.qml b/src/imports/quick3d/designer/BufferInputSpecifics.qml
index 7be28461..b4b1e745 100644
--- a/src/imports/quick3d/designer/BufferInputSpecifics.qml
+++ b/src/imports/quick3d/designer/BufferInputSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/BufferSection.qml b/src/imports/quick3d/designer/BufferSection.qml
index 7bd7d534..726e870e 100644
--- a/src/imports/quick3d/designer/BufferSection.qml
+++ b/src/imports/quick3d/designer/BufferSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,66 +40,99 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Name")
tooltip: qsTr("Buffer name.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.name
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Format")
tooltip: qsTr("Format of the buffer.")
}
- ComboBox {
- scope: "Buffer"
- model: ["Unknown", "R8", "R16", "R16F", "R32I", "R32UI", "R32F", "RG8", "RGBA8", "RGB8", "SRGB8", "SRGB8A8", "RGB565", "RGBA16F", "RG16F", "RG32F", "RGB32F", "RGBA32F", "R11G11B10", "RGB9E5", "Depth16", "Depth24", "Depth32", "Depth24Stencil8"]
- backendValue: backendValues.format
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Buffer"
+ model: ["Unknown", "R8", "R16", "R16F", "R32I", "R32UI", "R32F", "RG8", "RGBA8",
+ "RGB8", "SRGB8", "SRGB8A8", "RGB565", "RGBA16F", "RG16F", "RG32F",
+ "RGB32F", "RGBA32F", "R11G11B10", "RGB9E5", "Depth16", "Depth24",
+ "Depth32", "Depth24Stencil8"]
+ backendValue: backendValues.format
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Filter")
tooltip: qsTr("Texture filter for the buffer.")
}
- ComboBox {
- scope: "Buffer"
- model: ["Unknown", "Nearest", "Linear"]
- backendValue: backendValues.textureFilterOperation
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Buffer"
+ model: ["Unknown", "Nearest", "Linear"]
+ backendValue: backendValues.textureFilterOperation
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Coordinate Operation")
tooltip: qsTr("Texture coordinate operation for the buffer.")
}
- ComboBox {
- scope: "Buffer"
- model: ["Unknown", "ClampToEdge", "MirroredRepeat", "Repeat"]
- backendValue: backendValues.textureCoordOperation
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Buffer"
+ model: ["Unknown", "ClampToEdge", "MirroredRepeat", "Repeat"]
+ backendValue: backendValues.textureCoordOperation
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Allocation Flags")
tooltip: qsTr("Allocation flags for the buffer.")
}
- ComboBox {
- scope: "Buffer"
- model: ["None", "SceneLifetime"]
- backendValue: backendValues.bufferFlags
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Buffer"
+ model: ["None", "SceneLifetime"]
+ backendValue: backendValues.bufferFlags
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Size Multiplier")
tooltip: qsTr("Defines the size multiplier for the buffer.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 10000
@@ -106,8 +140,11 @@ Column {
decimals: 2
realDragRange: 30
backendValue: backendValues.sizeMultiplier
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/BufferSpecifics.qml b/src/imports/quick3d/designer/BufferSpecifics.qml
index be0b16b2..ba81332c 100644
--- a/src/imports/quick3d/designer/BufferSpecifics.qml
+++ b/src/imports/quick3d/designer/BufferSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/CullModeSection.qml b/src/imports/quick3d/designer/CullModeSection.qml
index e3de29ca..ae616a6d 100644
--- a/src/imports/quick3d/designer/CullModeSection.qml
+++ b/src/imports/quick3d/designer/CullModeSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,15 +40,21 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Mode")
tooltip: qsTr("Cull mode for a pass.")
}
- ComboBox {
- scope: "Material"
- model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
- backendValue: backendValues.cullMode
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Material"
+ model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
+ backendValue: backendValues.cullMode
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/CullModeSpecifics.qml b/src/imports/quick3d/designer/CullModeSpecifics.qml
index 6a22c0d1..2aaa54d9 100644
--- a/src/imports/quick3d/designer/CullModeSpecifics.qml
+++ b/src/imports/quick3d/designer/CullModeSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/CustomCameraSection.qml b/src/imports/quick3d/designer/CustomCameraSection.qml
index 4acb2057..7e7d449c 100644
--- a/src/imports/quick3d/designer/CustomCameraSection.qml
+++ b/src/imports/quick3d/designer/CustomCameraSection.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Section {
caption: qsTr("Custom Camera")
diff --git a/src/imports/quick3d/designer/CustomCameraSpecifics.qml b/src/imports/quick3d/designer/CustomCameraSpecifics.qml
index 15f2ed69..820b5131 100644
--- a/src/imports/quick3d/designer/CustomCameraSpecifics.qml
+++ b/src/imports/quick3d/designer/CustomCameraSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/DefaultMaterialSection.qml b/src/imports/quick3d/designer/DefaultMaterialSection.qml
index 8af86f44..e7d385c7 100644
--- a/src/imports/quick3d/designer/DefaultMaterialSection.qml
+++ b/src/imports/quick3d/designer/DefaultMaterialSection.qml
@@ -26,9 +26,11 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -36,37 +38,56 @@ Column {
Section {
caption: qsTr("Default Material")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Lighting")
tooltip: qsTr("Defines which lighting method is used when generating this material.")
}
- ComboBox {
- scope: "DefaultMaterial"
- model: ["NoLighting", "FragmentLighting"]
- backendValue: backendValues.lighting
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "DefaultMaterial"
+ model: ["NoLighting", "FragmentLighting"]
+ backendValue: backendValues.lighting
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Blend Mode")
tooltip: qsTr("Determines how the colors of the model rendered blend with those behind it.")
}
- ComboBox {
- scope: "DefaultMaterial"
- model: ["SourceOver", "Screen", "Multiply", "Overlay", "ColorBurn", "ColorDodge"]
- backendValue: backendValues.blendMode
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "DefaultMaterial"
+ model: ["SourceOver", "Screen", "Multiply", "Overlay", "ColorBurn", "ColorDodge"]
+ backendValue: backendValues.blendMode
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Enable Vertex Colors")
tooltip: qsTr("Enables the use of vertex colors from the mesh.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.vertexColorsEnabled.valueToString
backendValue: backendValues.vertexColorsEnabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -74,26 +95,29 @@ Column {
Section {
caption: qsTr("Diffuse")
width: parent.width
- Column {
- width: parent.width
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Diffuse Color") }
+
ColorEditor {
- caption: qsTr("Diffuse Color")
backendValue: backendValues.diffuseColor
supportGradient: false
- Layout.fillWidth: true
}
- SectionLayout {
- Label {
- text: qsTr("Diffuse Map")
- tooltip: qsTr("Defines a texture to apply to the material.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.diffuseMap
- }
+
+ PropertyLabel {
+ text: qsTr("Diffuse Map")
+ tooltip: qsTr("Defines a texture to apply to the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.diffuseMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -101,40 +125,48 @@ Column {
Section {
caption: qsTr("Emissive")
width: parent.width
- Column {
- width: parent.width
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Emissive Color") }
+
ColorEditor {
- caption: qsTr("Emissive Color")
backendValue: backendValues.emissiveColor
supportGradient: false
- Layout.fillWidth: true
}
- SectionLayout {
- Label {
- text: qsTr("Emissive Factor")
- tooltip: qsTr("Determines the amount of self-illumination from the material (will not light other objects).")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.emissiveFactor
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Emissive Map")
- tooltip: qsTr("Sets a texture to be used to set the emissive factor for different parts of the material.")
+
+ PropertyLabel {
+ text: qsTr("Emissive Factor")
+ tooltip: qsTr("Determines the amount of self-illumination from the material (will not light other objects).")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 1
+ minimumValue: 0
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.emissiveFactor
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.emissiveMap
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Emissive Map")
+ tooltip: qsTr("Sets a texture to be used to set the emissive factor for different parts of the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.emissiveMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -142,114 +174,153 @@ Column {
Section {
caption: qsTr("Specular")
width: parent.width
- Column {
- width: parent.width
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Specular Tint") }
+
ColorEditor {
- caption: qsTr("Specular Tint")
backendValue: backendValues.specularTint
supportGradient: false
- Layout.fillWidth: true
}
- SectionLayout {
- Label {
- text: qsTr("Specular Amount")
- tooltip: qsTr("Controls the strength of specularity (highlights and reflections).")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.specularAmount
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Specular Map")
- tooltip: qsTr("Defines a RGB texture to modulate the amount and the color of specularity across the surface of the material.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.specularMap
- }
+ PropertyLabel {
+ text: qsTr("Specular Amount")
+ tooltip: qsTr("Controls the strength of specularity (highlights and reflections).")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 1
+ minimumValue: 0
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.specularAmount
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- Label {
- text: qsTr("Specular Model")
- tooltip: qsTr("Determines which functions are used to calculate specular highlights for lights in the scene.")
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Specular Map")
+ tooltip: qsTr("Defines a RGB texture to modulate the amount and the color of specularity across the surface of the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.specularMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Specular Model")
+ tooltip: qsTr("Determines which functions are used to calculate specular highlights for lights in the scene.")
+ }
+
+ SecondColumnLayout {
ComboBox {
scope: "DefaultMaterial"
model: ["Default", "KGGX", "KWard"]
backendValue: backendValues.specularModel
- Layout.fillWidth: true
- }
- Label {
- text: qsTr("Reflection Map")
- tooltip: qsTr("Sets a texture used for specular highlights on the material.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.specularReflectionMap
- }
- }
- Label {
- text: qsTr("Index of Refraction")
- tooltip: qsTr("Controls what angles of reflections are affected by the Fresnel power.")
- }
- SecondColumnLayout {
- SpinBox {
- maximumValue: 3
- minimumValue: 1
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.indexOfRefraction
- Layout.fillWidth: true
- }
- }
- Label {
- text: qsTr("Fresnel Power")
- tooltip: qsTr("Decreases head-on reflections (looking directly at the surface) while maintaining reflections seen at grazing angles.")
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 9999999
- minimumValue: -9999999
- realDragRange: 5000
- decimals: 2
- backendValue: backendValues.fresnelPower
- Layout.fillWidth: true
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Reflection Map")
+ tooltip: qsTr("Sets a texture used for specular highlights on the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.specularReflectionMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- Label {
- text: qsTr("Specular Roughness")
- tooltip: qsTr("Controls the size of the specular highlight generated from lights and the clarity of reflections in general.")
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Index of Refraction")
+ tooltip: qsTr("Controls what angles of reflections are affected by the Fresnel power.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 3
+ minimumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.indexOfRefraction
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- SpinBox {
- maximumValue: 1
- minimumValue: 0.001
- decimals: 3
- backendValue: backendValues.specularRoughness
- Layout.fillWidth: true
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Fresnel Power")
+ tooltip: qsTr("Decreases head-on reflections (looking directly at the surface) while maintaining reflections seen at grazing angles.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 9999999
+ minimumValue: -9999999
+ realDragRange: 5000
+ decimals: 2
+ backendValue: backendValues.fresnelPower
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- Label {
- text: qsTr("Roughness Map")
- tooltip: qsTr("Defines a texture to control the specular roughness of the material.")
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Specular Roughness")
+ tooltip: qsTr("Controls the size of the specular highlight generated from lights and the clarity of reflections in general.")
+ }
+
+ SecondColumnLayout {
+ SpinBox {
+ maximumValue: 1
+ minimumValue: 0.001
+ decimals: 3
+ backendValue: backendValues.specularRoughness
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.roughnessMap
- }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {
+ text: qsTr("Roughness Map")
+ tooltip: qsTr("Defines a texture to control the specular roughness of the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.roughnessMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -257,11 +328,13 @@ Column {
Section {
caption: qsTr("Opacity")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Opacity")
tooltip: qsTr("Sets the visibility of the geometry for this material.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -269,19 +342,27 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.opacity
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Opacity Map")
tooltip: qsTr("Defines a texture used to control the opacity differently for different parts of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.opacityMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -289,11 +370,13 @@ Column {
Section {
caption: qsTr("Bump/Normal")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Bump Amount")
tooltip: qsTr("Controls the amount of simulated displacement for the bump map or normal map.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -301,48 +384,61 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.bumpAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Bump Map")
tooltip: qsTr("Defines a grayscale texture to simulate fine geometry displacement across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
id: bumpMapComboBox
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.bumpMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
Connections {
target: normalMapComboBox.backendValue
- onExpressionChanged: {
+ function onExpressionChanged() {
if (normalMapComboBox.backendValue.expression !== "")
bumpMapComboBox.backendValue.resetValue()
}
}
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Normal Map")
tooltip: qsTr("Defines a RGB image used to simulate fine geometry displacement across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
id: normalMapComboBox
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.normalMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
Connections {
target: bumpMapComboBox.backendValue
- onExpressionChanged: {
+ function onExpressionChanged() {
if (bumpMapComboBox.backendValue.expression !== "")
normalMapComboBox.backendValue.resetValue()
}
}
}
+
+ ExpandingSpacer {}
}
}
}
@@ -350,11 +446,13 @@ Column {
Section {
caption: qsTr("Translucency")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Translucency Falloff")
tooltip: qsTr("Defines the amount of falloff for the translucency based on the angle of the normals of the object to the light source.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -362,13 +460,18 @@ Column {
realDragRange: 5000
decimals: 2
backendValue: backendValues.translucentFalloff
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Diffuse Light Wrap")
tooltip: qsTr("Determines the amount of light wrap for the translucency map.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -376,19 +479,27 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.diffuseLightWrap
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Translucency Map")
tooltip: qsTr("Defines a grayscale texture controlling how much light can pass through the material from behind.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.translucencyMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/DefaultMaterialSpecifics.qml b/src/imports/quick3d/designer/DefaultMaterialSpecifics.qml
index 632c733d..b0fb9cdc 100644
--- a/src/imports/quick3d/designer/DefaultMaterialSpecifics.qml
+++ b/src/imports/quick3d/designer/DefaultMaterialSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/DepthInputSection.qml b/src/imports/quick3d/designer/DepthInputSection.qml
index 3811eae7..ad12773b 100644
--- a/src/imports/quick3d/designer/DepthInputSection.qml
+++ b/src/imports/quick3d/designer/DepthInputSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,16 +40,21 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Parameter")
tooltip: qsTr("Depth input texture name in the shader.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.param
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/DepthInputSpecifics.qml b/src/imports/quick3d/designer/DepthInputSpecifics.qml
index 1cdcb4df..e025eff7 100644
--- a/src/imports/quick3d/designer/DepthInputSpecifics.qml
+++ b/src/imports/quick3d/designer/DepthInputSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/DirectionalLightSection.qml b/src/imports/quick3d/designer/DirectionalLightSection.qml
index b378167b..5441b19d 100644
--- a/src/imports/quick3d/designer/DirectionalLightSection.qml
+++ b/src/imports/quick3d/designer/DirectionalLightSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,21 +40,27 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Scope")
tooltip: qsTr("Sets the scope of the light. Only the node and its children are affected by this light.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Node"
- Layout.fillWidth: true
backendValue: backendValues.scope
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Brightness")
tooltip: qsTr("Sets the strength of the light.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -61,32 +68,26 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.brightness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Color")
- width: parent.width
+ PropertyLabel { text: qsTr("Color") }
- ColorEditor {
- caption: qsTr("Color")
- backendValue: backendValues.color
- supportGradient: false
- Layout.fillWidth: true
- }
- }
+ ColorEditor {
+ backendValue: backendValues.color
+ supportGradient: false
+ }
- Section {
- caption: qsTr("Ambient Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Ambient Color")
- backendValue: backendValues.ambientColor
- supportGradient: false
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Ambient Color") }
+
+ ColorEditor {
+ backendValue: backendValues.ambientColor
+ supportGradient: false
+ }
}
}
diff --git a/src/imports/quick3d/designer/DirectionalLightSpecifics.qml b/src/imports/quick3d/designer/DirectionalLightSpecifics.qml
index b1df0b36..4cbd9d8d 100644
--- a/src/imports/quick3d/designer/DirectionalLightSpecifics.qml
+++ b/src/imports/quick3d/designer/DirectionalLightSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/FrustumCameraSection.qml b/src/imports/quick3d/designer/FrustumCameraSection.qml
index 4b290ef4..a746edf9 100644
--- a/src/imports/quick3d/designer/FrustumCameraSection.qml
+++ b/src/imports/quick3d/designer/FrustumCameraSection.qml
@@ -28,17 +28,19 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Frustum Camera")
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Top")
tooltip: qsTr("Sets the top plane of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -46,13 +48,18 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.top
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Bottom")
tooltip: qsTr("Sets the bottom plane of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -60,13 +67,18 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.bottom
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Right")
tooltip: qsTr("Sets the right plane of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -74,13 +86,18 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.right
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Left")
tooltip: qsTr("Sets the left plane of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -88,8 +105,11 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.left
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/FrustumCameraSpecifics.qml b/src/imports/quick3d/designer/FrustumCameraSpecifics.qml
index 55366944..d7605581 100644
--- a/src/imports/quick3d/designer/FrustumCameraSpecifics.qml
+++ b/src/imports/quick3d/designer/FrustumCameraSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/IdComboBox.qml b/src/imports/quick3d/designer/IdComboBox.qml
index 1d34d73c..c090e303 100644
--- a/src/imports/quick3d/designer/IdComboBox.qml
+++ b/src/imports/quick3d/designer/IdComboBox.qml
@@ -59,7 +59,7 @@ ComboBox {
comboBox.setCurrentText(comboBox.textValue)
}
onModelChanged: comboBox.setCurrentText(comboBox.textValue)
- onCompressedActivated: comboBox.handleActivate(index)
+ onCompressedActivated: function(index, reason) { comboBox.handleActivate(index) }
Component.onCompleted: comboBox.setCurrentText(comboBox.textValue)
onEditTextChanged: {
diff --git a/src/imports/quick3d/designer/MaterialSection.qml b/src/imports/quick3d/designer/MaterialSection.qml
index 67441fe6..32e1f44e 100644
--- a/src/imports/quick3d/designer/MaterialSection.qml
+++ b/src/imports/quick3d/designer/MaterialSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Material")
@@ -43,34 +44,43 @@ Section {
// ### iblProbe override
- Label {
+ PropertyLabel {
text: qsTr("Light Probe")
tooltip: qsTr("Defines a texture for overriding or setting an image based lighting texture for use with this material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.lightProbe
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Displacement Map")
tooltip: qsTr("Defines a grayscale image used to offset the vertices of geometry across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.displacementMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Displacement Amount")
tooltip: qsTr("Controls the offset amount for the displacement map.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -78,19 +88,28 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.displacementAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Culling Mode")
tooltip: qsTr("Defines whether culling is enabled and which mode is actually enabled.")
}
- ComboBox {
- scope: "Material"
- model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
- backendValue: backendValues.cullMode
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Material"
+ model: ["BackFaceCulling", "FrontFaceCulling", "NoCulling"]
+ backendValue: backendValues.cullMode
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/ModelSection.qml b/src/imports/quick3d/designer/ModelSection.qml
index 77ec3261..f04af25d 100644
--- a/src/imports/quick3d/designer/ModelSection.qml
+++ b/src/imports/quick3d/designer/ModelSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Model")
@@ -37,15 +38,18 @@ Section {
SectionLayout {
id: tessellationSection
- Label {
+ PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Defines the location of the mesh file containing the geometry of this model.")
}
+
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.source
filter: "*.mesh"
}
+
+ ExpandingSpacer {}
}
function hasTessellationMode(mode) {
@@ -60,100 +64,130 @@ Section {
return true
}
- Label {
+ PropertyLabel {
text: qsTr("Tessellation Mode")
tooltip: qsTr("Defines what method to use to dynamically generate additional geometry for the model.")
}
+
SecondColumnLayout {
ComboBox {
id: tessellationModeComboBox
scope: "Model"
model: ["NoTessellation", "Linear", "Phong", "NPatch"]
backendValue: backendValues.tessellationMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Edge Tessellation")
tooltip: qsTr("Defines the edge multiplier to the tessellation generator.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 64.0
minimumValue: 0.0
decimals: 0
backendValue: backendValues.edgeTessellation
- Layout.fillWidth: true
enabled: !tessellationSection.hasTessellationMode("NoTessellation")
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Inner Tessellation")
tooltip: qsTr("Defines the inner multiplier to the tessellation generator.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 64.0
minimumValue: 0.0
decimals: 0
backendValue: backendValues.innerTessellation
- Layout.fillWidth: true
enabled: !tessellationSection.hasTessellationMode("NoTessellation")
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Enable Wireframe Mode")
tooltip: qsTr("Enables the wireframe mode if tesselation is enabled.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.isWireframeMode.valueToString
backendValue: backendValues.isWireframeMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Casts Shadows")
tooltip: qsTr("Enables the geometry of this model to be rendered to the shadow maps.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.castsShadows.valueToString
backendValue: backendValues.castsShadows
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Receives Shadows")
tooltip: qsTr("Enables the geometry of this model to receive shadows.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.receivesShadows.valueToString
backendValue: backendValues.receivesShadows
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Pickable")
tooltip: qsTr("Controls whether the model is pickable or not.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.pickable.valueToString
backendValue: backendValues.pickable
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Materials")
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.materials
@@ -164,6 +198,8 @@ Section {
onRemove: function(idx) { backendValues.materials.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.materials.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/ModelSpecifics.qml b/src/imports/quick3d/designer/ModelSpecifics.qml
index 2f7f80ba..7713d307 100644
--- a/src/imports/quick3d/designer/ModelSpecifics.qml
+++ b/src/imports/quick3d/designer/ModelSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/NodeSection.qml b/src/imports/quick3d/designer/NodeSection.qml
index c9569638..8a90353d 100644
--- a/src/imports/quick3d/designer/NodeSection.qml
+++ b/src/imports/quick3d/designer/NodeSection.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
import StudioTheme 1.0 as StudioTheme
Column {
@@ -40,34 +40,42 @@ Column {
caption: qsTr("Node")
SectionLayout {
-
- Label {
+ PropertyLabel {
text: qsTr("Opacity")
tooltip: qsTr("Controls the local opacity value of the node.")
}
- // ### should be a slider
- SpinBox {
- minimumValue: 0
- maximumValue: 1
- decimals: 2
- stepSize: 0.1
- backendValue: backendValues.opacity
- Layout.fillWidth: true
- sliderIndicatorVisible: true
+ SecondColumnLayout {
+ // ### should be a slider
+ SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ minimumValue: 0
+ maximumValue: 1
+ decimals: 2
+ stepSize: 0.1
+ backendValue: backendValues.opacity
+ sliderIndicatorVisible: true
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ 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
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -77,274 +85,292 @@ Column {
width: parent.width
caption: qsTr("Transform")
- property int labelWidth: 10
- property int labelSpinBoxSpacing: 0
- property int spinBoxMinimumWidth: 120
+ ColumnLayout {
+ spacing: StudioTheme.Values.transform3DSectionSpacing
- GridLayout {
- columns: 2
- rows: 2
- columnSpacing: 24
- rowSpacing: 12
- width: parent.width - 16
-
- ColumnLayout {
-
- Label {
- width: 100
+ SectionLayout {
+ PropertyLabel {
text: qsTr("Translation")
tooltip: qsTr("Sets the translation of the node.")
}
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.x
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.y
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Z")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.z
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
- ColumnLayout {
-
- Label {
- width: 100
+ SectionLayout {
+ PropertyLabel {
text: qsTr("Rotation")
tooltip: qsTr("Sets the rotation of the node in degrees.")
}
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.eulerRotation_x
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.eulerRotation_y
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Z")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.eulerRotation_z
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
- ColumnLayout {
-
- Label {
+ SectionLayout {
+ PropertyLabel {
text: qsTr("Scale")
tooltip: qsTr("Sets the scale of the node.")
}
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 50
decimals: 2
- stepSize: 0.1
backendValue: backendValues.scale_x
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 50
decimals: 2
- stepSize: 0.1
backendValue: backendValues.scale_y
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Z")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 50
decimals: 2
- stepSize: 0.1
backendValue: backendValues.scale_z
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
- ColumnLayout {
-
- Label {
+ SectionLayout {
+ PropertyLabel {
text: qsTr("Pivot")
tooltip: qsTr("Sets the pivot of the node.")
}
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
-
- Label {
- text: qsTr("X")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisXColor
- }
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.pivot_x
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Y")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisYColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "X"
+ color: StudioTheme.Values.theme3DAxisXColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.pivot_y
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
- }
- RowLayout {
- spacing: transformSection.labelSpinBoxSpacing
- Label {
- text: qsTr("Z")
- width: transformSection.labelWidth
- color: StudioTheme.Values.theme3DAxisZColor
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Y"
+ color: StudioTheme.Values.theme3DAxisYColor
}
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel {}
+
+ SecondColumnLayout {
SpinBox {
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
- realDragRange: 5000
decimals: 2
backendValue: backendValues.pivot_z
- Layout.fillWidth: true
- Layout.minimumWidth: transformSection.spinBoxMinimumWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "Z"
+ color: StudioTheme.Values.theme3DAxisZColor
+ }
+
+ ExpandingSpacer {}
}
}
-
}
}
}
diff --git a/src/imports/quick3d/designer/NodeSpecifics.qml b/src/imports/quick3d/designer/NodeSpecifics.qml
index 124e6af9..d503a54d 100644
--- a/src/imports/quick3d/designer/NodeSpecifics.qml
+++ b/src/imports/quick3d/designer/NodeSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/Object3DSection.qml b/src/imports/quick3d/designer/Object3DSection.qml
index d708a097..55bb6886 100644
--- a/src/imports/quick3d/designer/Object3DSection.qml
+++ b/src/imports/quick3d/designer/Object3DSection.qml
@@ -28,10 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Section {
caption: qsTr("Object")
-
}
diff --git a/src/imports/quick3d/designer/OrthographicCameraSection.qml b/src/imports/quick3d/designer/OrthographicCameraSection.qml
index d6504298..d9d7a443 100644
--- a/src/imports/quick3d/designer/OrthographicCameraSection.qml
+++ b/src/imports/quick3d/designer/OrthographicCameraSection.qml
@@ -28,17 +28,19 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Orthographic Camera")
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Clip Near")
tooltip: qsTr("Sets the near value of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -46,14 +48,18 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.clipNear
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Clip Far")
tooltip: qsTr("Sets the far value of the camera view frustum.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -62,8 +68,11 @@ Section {
decimals: 0
stepSize: 100
backendValue: backendValues.clipFar
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/OrthographicCameraSpecifics.qml b/src/imports/quick3d/designer/OrthographicCameraSpecifics.qml
index 3cd98e0d..6444330e 100644
--- a/src/imports/quick3d/designer/OrthographicCameraSpecifics.qml
+++ b/src/imports/quick3d/designer/OrthographicCameraSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/PassSection.qml b/src/imports/quick3d/designer/PassSection.qml
index da4109b9..b87d263a 100644
--- a/src/imports/quick3d/designer/PassSection.qml
+++ b/src/imports/quick3d/designer/PassSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,10 +40,13 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Commands")
tooltip: qsTr("Render commands of the pass.")
+ Layout.alignment: Qt.AlignTop
+ Layout.topMargin: 5
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.commands
@@ -54,22 +58,33 @@ Column {
onRemove: function(idx) { backendValues.commands.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.commands.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Buffer")
tooltip: qsTr("Output buffer for the pass.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Buffer"
- Layout.fillWidth: true
backendValue: backendValues.output
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Shaders")
tooltip: qsTr("Shaders for the pass.")
+ Layout.alignment: Qt.AlignTop
+ Layout.topMargin: 5
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.shaders
@@ -81,6 +96,8 @@ Column {
onRemove: function(idx) { backendValues.shaders.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.shaders.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/PassSpecifics.qml b/src/imports/quick3d/designer/PassSpecifics.qml
index 2a59fb0b..f0ac1b31 100644
--- a/src/imports/quick3d/designer/PassSpecifics.qml
+++ b/src/imports/quick3d/designer/PassSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/PerspectiveCameraSection.qml b/src/imports/quick3d/designer/PerspectiveCameraSection.qml
index 153686d5..9cd3a248 100644
--- a/src/imports/quick3d/designer/PerspectiveCameraSection.qml
+++ b/src/imports/quick3d/designer/PerspectiveCameraSection.qml
@@ -28,17 +28,19 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Perspective Camera")
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Clip Near")
tooltip: qsTr("Sets the near value of the view frustum of the camera.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -46,14 +48,18 @@ Section {
realDragRange: 5000
decimals: 0
backendValue: backendValues.clipNear
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Clip Far")
tooltip: qsTr("Sets the far value of the view frustum of the camera.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -62,33 +68,46 @@ Section {
decimals: 0
stepSize: 100
backendValue: backendValues.clipFar
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Field of View")
tooltip: qsTr("Sets the field of view of the camera in degrees.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
minimumValue: 180
decimals: 2
backendValue: backendValues.fieldOfView
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("FOV Orientation")
tooltip: qsTr("Determines if the field of view property reflects the vertical or the horizontal field of view.")
}
- ComboBox {
- scope: "PerspectiveCamera"
- model: ["Vertical", "Horizontal"]
- backendValue: backendValues.fieldOfViewOrientation
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "PerspectiveCamera"
+ model: ["Vertical", "Horizontal"]
+ backendValue: backendValues.fieldOfViewOrientation
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/PerspectiveCameraSpecifics.qml b/src/imports/quick3d/designer/PerspectiveCameraSpecifics.qml
index db48c589..8e1787e0 100644
--- a/src/imports/quick3d/designer/PerspectiveCameraSpecifics.qml
+++ b/src/imports/quick3d/designer/PerspectiveCameraSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/PointLightSection.qml b/src/imports/quick3d/designer/PointLightSection.qml
index dd50ef0e..df08824b 100644
--- a/src/imports/quick3d/designer/PointLightSection.qml
+++ b/src/imports/quick3d/designer/PointLightSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,21 +40,27 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Scope")
tooltip: qsTr("Sets the scope of the light. Only the node and its children are affected by this light.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Node"
- Layout.fillWidth: true
backendValue: backendValues.scope
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Brightness")
tooltip: qsTr("Sets the strength of the light.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -61,14 +68,18 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.brightness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Constant Fade")
tooltip: qsTr("Sets the constant attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -76,14 +87,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.constantFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Linear Fade")
tooltip: qsTr("Sets the linear attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -91,14 +106,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.linearFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Quadratic Fade")
tooltip: qsTr("Sets the quadratic attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -106,37 +125,30 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.quadraticFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Color")
- width: parent.width
+ PropertyLabel { text: qsTr("Color") }
- ColorEditor {
- caption: qsTr("Color")
- backendValue: backendValues.color
- supportGradient: false
- Layout.fillWidth: true
- }
- }
+ ColorEditor {
+ backendValue: backendValues.color
+ supportGradient: false
+ }
- Section {
- caption: qsTr("Ambient Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Ambient Color")
- backendValue: backendValues.ambientColor
- supportGradient: false
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Ambient Color") }
+
+ ColorEditor {
+ backendValue: backendValues.ambientColor
+ supportGradient: false
+ }
}
}
ShadowSection {
width: parent.width
}
-
}
diff --git a/src/imports/quick3d/designer/PointLightSpecifics.qml b/src/imports/quick3d/designer/PointLightSpecifics.qml
index d765e889..97989dc6 100644
--- a/src/imports/quick3d/designer/PointLightSpecifics.qml
+++ b/src/imports/quick3d/designer/PointLightSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/PrincipledMaterialSection.qml b/src/imports/quick3d/designer/PrincipledMaterialSection.qml
index c218a8c1..562d3a26 100644
--- a/src/imports/quick3d/designer/PrincipledMaterialSection.qml
+++ b/src/imports/quick3d/designer/PrincipledMaterialSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,23 +40,28 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Alpha Mode")
tooltip: qsTr("Sets the mode for how the alpha channel of material color is used.")
}
+
SecondColumnLayout {
ComboBox {
scope: "PrincipledMaterial"
model: ["Opaque", "Mask", "Blend"]
backendValue: backendValues.alphaMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Alpha Cutoff")
tooltip: qsTr("Specifies the cutoff value when using the Mask alphaMode.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -63,27 +69,35 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.alphaCutoff
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Blend Mode")
tooltip: qsTr("Determines how the colors of the model rendered blend with those behind it.")
}
+
SecondColumnLayout {
ComboBox {
scope: "PrincipledMaterial"
model: ["SourceOver", "Screen", "Multiply", "Overlay", "ColorBurn", "ColorDodge"]
backendValue: backendValues.blendMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Index Of Refraction")
tooltip: qsTr("Controls how fast light travels through the material.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 1
@@ -91,21 +105,28 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.indexOfRefraction
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Lighting")
tooltip: qsTr("Defines which lighting method is used when generating this material.")
}
+
SecondColumnLayout {
ComboBox {
scope: "PrincipledMaterial"
model: ["NoLighting", "FragmentLighting"]
backendValue: backendValues.lighting
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -113,11 +134,13 @@ Column {
Section {
caption: qsTr("Metalness")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Metalness")
tooltip: qsTr("Defines the metalness of the the material.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -125,33 +148,44 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.metalness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Metalness Map")
tooltip: qsTr("Sets a texture to be used to set the metalness amount for the different parts of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.metalnessMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Metalness Channel")
tooltip: qsTr("Defines the texture channel used to read the metalness value from metalnessMap.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Material"
model: ["R", "G", "B", "A"]
backendValue: backendValues.metalnessChannel
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -159,23 +193,29 @@ Column {
Section {
caption: qsTr("Normal")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Normal Map")
tooltip: qsTr("Defines an RGB image used to simulate fine geometry displacement across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.normalMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Normal Strength")
tooltip: qsTr("Controls the amount of simulated displacement for the normalMap.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -183,8 +223,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.normalStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -192,11 +235,13 @@ Column {
Section {
caption: qsTr("Occlusion")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Occlusion Amount")
tooltip: qsTr("Contains the factor used to modify the values from the occlusionMap texture.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -204,33 +249,44 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.occlusionAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Occlusion Map")
tooltip: qsTr("Defines a texture used to determine how much indirect light the different areas of the material should receive.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.occlusionMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Occlusion Channel")
tooltip: qsTr("Defines the texture channel used to read the occlusion value from occlusionMap.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Material"
model: ["R", "G", "B", "A"]
backendValue: backendValues.occlusionChannel
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -238,11 +294,13 @@ Column {
Section {
caption: qsTr("Opacity")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Opacity")
tooltip: qsTr("Drops the opacity of just this material, separate from the model.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 1
@@ -250,33 +308,44 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.opacity
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Opacity Map")
tooltip: qsTr("Defines a texture used to control the opacity differently for different parts of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.opacityMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Opacity Channel")
tooltip: qsTr("Defines the texture channel used to read the opacity value from opacityMap.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Material"
model: ["R", "G", "B", "A"]
backendValue: backendValues.opacityChannel
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -284,11 +353,13 @@ Column {
Section {
caption: qsTr("Roughness")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Roughness")
tooltip: qsTr("Controls the size of the specular highlight generated from lights, and the clarity of reflections in general.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -296,33 +367,44 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.roughness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Roughness Map")
tooltip: qsTr("Defines a texture to control the specular roughness of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.roughnessMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Roughness Channel")
tooltip: qsTr("Defines the texture channel used to read the roughness value from roughnessMap.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Material"
model: ["R", "G", "B", "A"]
backendValue: backendValues.roughnessChannel
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -330,11 +412,13 @@ Column {
Section {
caption: qsTr("Specular")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Specular Amount")
tooltip: qsTr("Controls the strength of specularity (highlights and reflections).")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -342,38 +426,50 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.specularAmount
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Specular Map")
tooltip: qsTr("Defines a RGB Texture to modulate the amount and the color of specularity across the surface of the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.specularMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Specular Reflection Map")
tooltip: qsTr("Sets a texture used for specular highlights on the material.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.specularReflectionMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Specular Tint")
tooltip: qsTr("Defines how much of the base color contributes to the specular reflections.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -381,8 +477,11 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.specularTint
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -391,56 +490,59 @@ Column {
caption: qsTr("Base Color")
width: parent.width
- Column {
- width: parent.width
+ SectionLayout {
+ PropertyLabel { text: qsTr("Base Color") }
ColorEditor {
- caption: qsTr("Base Color")
backendValue: backendValues.baseColor
supportGradient: false
- Layout.fillWidth: true
}
- SectionLayout {
- Label {
- text: qsTr("Base Color Map")
- tooltip: qsTr("Defines a texture used to set the base color of the material.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.baseColorMap
- }
+
+ PropertyLabel {
+ text: qsTr("Base Color Map")
+ tooltip: qsTr("Defines a texture used to set the base color of the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ backendValue: backendValues.baseColorMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
Section {
- caption: qsTr("Emissive Color")
+ caption: qsTr("Emissive")
width: parent.width
- Column {
- width: parent.width
+ SectionLayout {
+ PropertyLabel { text: qsTr("Emissive Color") }
ColorEditor {
- caption: qsTr("Emissive Color")
backendValue: backendValues.emissiveColor
supportGradient: false
- Layout.fillWidth: true
}
- SectionLayout {
- Label {
- text: qsTr("Emissive Map")
- tooltip: qsTr("Sets a texture to be used to set the emissive factor for different parts of the material.")
- }
- SecondColumnLayout {
- IdComboBox {
- typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
- backendValue: backendValues.emissiveMap
- }
+
+ PropertyLabel {
+ text: qsTr("Emissive Map")
+ tooltip: qsTr("Sets a texture to be used to set the emissive factor for different parts of the material.")
+ }
+
+ SecondColumnLayout {
+ IdComboBox {
+ typeFilter: "QtQuick3D.Texture"
+ Layout.fillWidth: true
+ backendValue: backendValues.emissiveMap
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/PrincipledMaterialSpecifics.qml b/src/imports/quick3d/designer/PrincipledMaterialSpecifics.qml
index 8bf490c8..0ab597c3 100644
--- a/src/imports/quick3d/designer/PrincipledMaterialSpecifics.qml
+++ b/src/imports/quick3d/designer/PrincipledMaterialSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/RenderStateSection.qml b/src/imports/quick3d/designer/RenderStateSection.qml
index 2d8f28ce..ac1f132e 100644
--- a/src/imports/quick3d/designer/RenderStateSection.qml
+++ b/src/imports/quick3d/designer/RenderStateSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,26 +40,38 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("State")
tooltip: qsTr("Render state to set for a pass.")
}
- ComboBox {
- scope: "RenderState"
- model: ["Unknown", "Blend", "CullFace", "DepthTest", "StencilTest", "ScissorTest", "DepthWrite", "Multisample"]
- backendValue: backendValues.renderState
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "RenderState"
+ model: ["Unknown", "Blend", "CullFace", "DepthTest", "StencilTest",
+ "ScissorTest", "DepthWrite", "Multisample"]
+ backendValue: backendValues.renderState
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Enabled")
tooltip: qsTr("Render state enable state.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.enabled.valueToString
backendValue: backendValues.enabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/RenderStateSpecifics.qml b/src/imports/quick3d/designer/RenderStateSpecifics.qml
index 23ce2c13..f0b7fbed 100644
--- a/src/imports/quick3d/designer/RenderStateSpecifics.qml
+++ b/src/imports/quick3d/designer/RenderStateSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/SceneEnvironmentSection.qml b/src/imports/quick3d/designer/SceneEnvironmentSection.qml
index eae40e4e..6be38bcb 100644
--- a/src/imports/quick3d/designer/SceneEnvironmentSection.qml
+++ b/src/imports/quick3d/designer/SceneEnvironmentSection.qml
@@ -28,54 +28,73 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
+
Section {
caption: qsTr("Scene Environment")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Antialiasing Mode")
tooltip: qsTr("Sets the antialiasing mode applied to the scene.")
}
+
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["NoAA", "SSAA", "MSAA", "ProgressiveAA"]
backendValue: backendValues.antialiasingMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Antialiasing Quality")
tooltip: qsTr("Sets the level of antialiasing applied to the scene.")
}
+
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["Medium", "High", "VeryHigh"]
backendValue: backendValues.antialiasingQuality
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Temporal AA")
tooltip: qsTr("Enables temporal antialiasing using camera jittering and frame blending.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.temporalAAEnabled.valueToString
backendValue: backendValues.temporalAAEnabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Temporal AA Strength")
tooltip: qsTr("Sets the amount of temporal antialiasing applied.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 2.0
@@ -83,49 +102,69 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.temporalAAStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Background Mode")
tooltip: qsTr("Controls if and how the background of the scene should be cleared.")
}
+
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["Transparent", "Unspecified", "Color", "SkyBox"]
backendValue: backendValues.backgroundMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Enable Depth Test")
tooltip: qsTr("Enables depth testing. Disable to optimize render speed for layers with mostly transparent objects.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.depthTestEnabled.valueToString
backendValue: backendValues.depthTestEnabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Enable Depth Prepass")
tooltip: qsTr("Draw depth buffer as a separate pass. Disable to optimize render speed for layers with low depth complexity.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.depthPrePassEnabled.valueToString
backendValue: backendValues.depthPrePassEnabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Effect")
tooltip: qsTr("A post-processing effect applied to this scene.")
+ Layout.alignment: Qt.AlignTop
+ Layout.topMargin: 5
}
+
SecondColumnLayout {
EditableListView {
backendValue: backendValues.effects
@@ -137,18 +176,16 @@ Column {
onRemove: function(idx) { backendValues.effects.idListRemove(idx) }
onReplace: function (idx, value) { backendValues.effects.idListReplace(idx, value) }
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Clear Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Clear Color")
- backendValue: backendValues.clearColor
- supportGradient: false
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Clear Color") }
+
+ ColorEditor {
+ backendValue: backendValues.clearColor
+ supportGradient: false
+ }
}
}
@@ -158,78 +195,99 @@ Column {
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("AO Strength")
tooltip: qsTr("Sets the amount of ambient occlusion applied.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 100
minimumValue: 0
decimals: 0
backendValue: backendValues.aoStrength
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("AO Distance")
tooltip: qsTr("Sets how far ambient occlusion shadows spread away from objects.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 99999
minimumValue: 0
decimals: 0
backendValue: backendValues.aoDistance
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("AO Softness")
tooltip: qsTr("Sets how smooth the edges of the ambient occlusion shading are.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 50
minimumValue: 0
decimals: 0
backendValue: backendValues.aoSoftness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("AO Dither")
tooltip: qsTr("Enables scattering of the ambient occlusion shadow band edges to improve smoothness (at the risk of sometimes producing obvious patterned artifacts).")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.aoDither.valueToString
backendValue: backendValues.aoDither
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("AO Sample Rate")
tooltip: qsTr("Sets the ambient occlusion quality (more shades of gray) at the expense of performance.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 4
minimumValue: 2
decimals: 0
backendValue: backendValues.aoSampleRate
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("AO Bias")
tooltip: qsTr("Sets the cutoff distance preventing objects from exhibiting ambient occlusion at close distances.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -237,8 +295,11 @@ Column {
realDragRange: 5000
decimals: 2
backendValue: backendValues.aoBias
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
@@ -246,22 +307,29 @@ Column {
Section {
caption: qsTr("Image Based Lighting")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Light Probe")
tooltip: qsTr("Defines a texture for overriding or setting an image based lighting texture for use with the skybox of this scene.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.lightProbe
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Probe Brightness")
tooltip: qsTr("Sets the amount of light emitted by the light probe.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -269,26 +337,34 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.probeBrightness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Fast IBL")
tooltip: qsTr("Use a faster approximation to image-based lighting.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.aoDither.valueToString
backendValue: backendValues.fastIBL
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Probe Horizon")
tooltip: qsTr("Upper limit for horizon darkening of the light probe.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: -0.001
@@ -296,22 +372,29 @@ Column {
decimals: 3
stepSize: 0.1
backendValue: backendValues.probeHorizon
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Probe FOV")
tooltip: qsTr("Image source FOV for the case of using a camera-source as the IBL probe.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 180
minimumValue: 1.0
decimals: 1
backendValue: backendValues.probeFieldOfView
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/SceneEnvironmentSpecifics.qml b/src/imports/quick3d/designer/SceneEnvironmentSpecifics.qml
index 86ff5d8b..58ff1ae5 100644
--- a/src/imports/quick3d/designer/SceneEnvironmentSpecifics.qml
+++ b/src/imports/quick3d/designer/SceneEnvironmentSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/SetUniformValueSection.qml b/src/imports/quick3d/designer/SetUniformValueSection.qml
index 76062779..476797ad 100644
--- a/src/imports/quick3d/designer/SetUniformValueSection.qml
+++ b/src/imports/quick3d/designer/SetUniformValueSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,28 +40,39 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Target")
tooltip: qsTr("The name of the uniform to change value for a pass.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.target
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("The value of the uniform.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.value
- Layout.fillWidth: true
showTranslateCheckBox: false
writeAsExpression: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/SetUniformValueSpecifics.qml b/src/imports/quick3d/designer/SetUniformValueSpecifics.qml
index 96982ef9..8084f8f8 100644
--- a/src/imports/quick3d/designer/SetUniformValueSpecifics.qml
+++ b/src/imports/quick3d/designer/SetUniformValueSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/ShaderInfoSection.qml b/src/imports/quick3d/designer/ShaderInfoSection.qml
index c678b3a5..436cdbd8 100644
--- a/src/imports/quick3d/designer/ShaderInfoSection.qml
+++ b/src/imports/quick3d/designer/ShaderInfoSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,37 +40,56 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Version")
tooltip: qsTr("Shader code version to use.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.version
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Type")
tooltip: qsTr("Shader type.")
}
+
SecondColumnLayout {
LineEdit {
backendValue: backendValues.type
- Layout.fillWidth: true
showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Key")
tooltip: qsTr("Shader key.")
}
- ComboBox {
- scope: "ShaderInfo"
- model: ["Diffuse", "Specular", "Cutout", "Refraction", "Transparent", "Displace", "Transmissive", "Glossy"]
- backendValue: backendValues.shaderKey
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "ShaderInfo"
+ model: ["Diffuse", "Specular", "Cutout", "Refraction", "Transparent", "Displace",
+ "Transmissive", "Glossy"]
+ backendValue: backendValues.shaderKey
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/ShaderInfoSpecifics.qml b/src/imports/quick3d/designer/ShaderInfoSpecifics.qml
index 488076c3..5c6cad85 100644
--- a/src/imports/quick3d/designer/ShaderInfoSpecifics.qml
+++ b/src/imports/quick3d/designer/ShaderInfoSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/ShaderSection.qml b/src/imports/quick3d/designer/ShaderSection.qml
index 86efae5b..0efac933 100644
--- a/src/imports/quick3d/designer/ShaderSection.qml
+++ b/src/imports/quick3d/designer/ShaderSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,25 +40,35 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Shader source code.")
}
+
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.shader
filter: "*.vert *.frag *.glslv *.glslf *.glsl *.vsh *.fsh"
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Stage")
tooltip: qsTr("Shader stage.")
}
- ComboBox {
- scope: "Shader"
- model: ["Shared", "Vertex", "Fragment", "Geometry", "Compute"]
- backendValue: backendValues.stage
- Layout.fillWidth: true
+
+ SecondColumnLayout {
+ ComboBox {
+ scope: "Shader"
+ model: ["Shared", "Vertex", "Fragment", "Geometry", "Compute"]
+ backendValue: backendValues.stage
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/ShaderSpecifics.qml b/src/imports/quick3d/designer/ShaderSpecifics.qml
index 3de46b66..00c8a1e5 100644
--- a/src/imports/quick3d/designer/ShaderSpecifics.qml
+++ b/src/imports/quick3d/designer/ShaderSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/ShadowSection.qml b/src/imports/quick3d/designer/ShadowSection.qml
index ed4a6185..76371a3f 100644
--- a/src/imports/quick3d/designer/ShadowSection.qml
+++ b/src/imports/quick3d/designer/ShadowSection.qml
@@ -28,77 +28,95 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Shadows")
width: parent.width
SectionLayout {
-
- Label {
+ PropertyLabel {
text: qsTr("Casts Shadow")
tooltip: qsTr("Enables shadow casting for this light.")
}
+
SecondColumnLayout {
CheckBox {
id: shadowCheckBox
text: backendValues.castsShadow.valueToString
backendValue: backendValues.castsShadow
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
// ### all the following should only be shown when shadows are enabled
- Label {
+ PropertyLabel {
text: qsTr("Shadow Factor")
tooltip: qsTr("Determines how dark the cast shadows should be.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0.0
maximumValue: 100.0
decimals: 0
backendValue: backendValues.shadowFactor
- Layout.fillWidth: true
enabled: shadowCheckBox.backendValue.value === true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Shadow Filter")
tooltip: qsTr("Sets how much blur is applied to the shadows.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 1.0
maximumValue: 100.0
decimals: 0
backendValue: backendValues.shadowFilter
- Layout.fillWidth: true
enabled: shadowCheckBox.backendValue.value === true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Shadow Map Quality")
tooltip: qsTr("Sets the quality of the shadow map created for shadow rendering.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Light"
- model: ["ShadowMapQualityLow", "ShadowMapQualityMedium", "ShadowMapQualityHigh", "ShadowMapQualityVeryHigh"]
+ model: ["ShadowMapQualityLow", "ShadowMapQualityMedium", "ShadowMapQualityHigh",
+ "ShadowMapQualityVeryHigh"]
backendValue: backendValues.shadowMapQuality
- Layout.fillWidth: true
enabled: shadowCheckBox.backendValue.value === true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Shadow Bias")
tooltip: qsTr("Sets a slight offset to avoid self-shadowing artifacts.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: -1.0
@@ -106,28 +124,33 @@ Section {
decimals: 2
stepSize: 0.1
backendValue: backendValues.shadowBias
- Layout.fillWidth: true
enabled: shadowCheckBox.backendValue.value === true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Shadow Map Far")
tooltip: qsTr("Determines the maximum distance for the shadow map.")
}
+
SecondColumnLayout {
SpinBox {
- maximumValue: 9999999
minimumValue: -9999999
+ maximumValue: 9999999
realDragRange: 5000
decimals: 0
stepSize: 100
backendValue: backendValues.shadowMapFar
- Layout.fillWidth: true
enabled: shadowCheckBox.backendValue.value === true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
+ ExpandingSpacer {}
+ }
}
}
-
diff --git a/src/imports/quick3d/designer/SpotLightSection.qml b/src/imports/quick3d/designer/SpotLightSection.qml
index 6b7f361f..f9a0aa36 100644
--- a/src/imports/quick3d/designer/SpotLightSection.qml
+++ b/src/imports/quick3d/designer/SpotLightSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,21 +40,27 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Scope")
tooltip: qsTr("Sets the scope of the light. Only the node and its children are affected by this light.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Node"
- Layout.fillWidth: true
backendValue: backendValues.scope
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Brightness")
tooltip: qsTr("Sets the strength of the light.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
@@ -61,14 +68,18 @@ Column {
realDragRange: 5000
decimals: 0
backendValue: backendValues.brightness
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Constant Fade")
tooltip: qsTr("Sets the constant attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -76,14 +87,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.constantFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Linear Fade")
tooltip: qsTr("Sets the linear attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -91,14 +106,18 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.linearFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Quadratic Fade")
tooltip: qsTr("Sets the quadratic attenuation of the light.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
@@ -106,65 +125,66 @@ Column {
decimals: 2
stepSize: 0.1
backendValue: backendValues.quadraticFade
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Cone Angle")
tooltip: qsTr("Sets the angle of the light cone.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 180
decimals: 2
backendValue: backendValues.coneAngle
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Inner Cone Angle")
tooltip: qsTr("Sets the angle of the inner light cone.")
}
+
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 180
decimals: 2
backendValue: backendValues.innerConeAngle
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- }
- }
- Section {
- caption: qsTr("Color")
- width: parent.width
+ PropertyLabel { text: qsTr("Color") }
- ColorEditor {
- caption: qsTr("Color")
- backendValue: backendValues.color
- supportGradient: false
- Layout.fillWidth: true
- }
- }
+ ColorEditor {
+ backendValue: backendValues.color
+ supportGradient: false
+ }
- Section {
- caption: qsTr("Ambient Color")
- width: parent.width
- ColorEditor {
- caption: qsTr("Ambient Color")
- backendValue: backendValues.ambientColor
- supportGradient: false
- Layout.fillWidth: true
+ PropertyLabel { text: qsTr("Ambient Color") }
+
+ ColorEditor {
+ backendValue: backendValues.ambientColor
+ supportGradient: false
+ }
}
}
ShadowSection {
width: parent.width
}
-
}
diff --git a/src/imports/quick3d/designer/SpotLightSpecifics.qml b/src/imports/quick3d/designer/SpotLightSpecifics.qml
index eba4f27f..2b262a14 100644
--- a/src/imports/quick3d/designer/SpotLightSpecifics.qml
+++ b/src/imports/quick3d/designer/SpotLightSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/TextureInputSection.qml b/src/imports/quick3d/designer/TextureInputSection.qml
index 560b1df1..92a1a17b 100644
--- a/src/imports/quick3d/designer/TextureInputSection.qml
+++ b/src/imports/quick3d/designer/TextureInputSection.qml
@@ -28,8 +28,9 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
@@ -39,27 +40,36 @@ Column {
width: parent.width
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Texture")
tooltip: qsTr("Input texture.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Texture"
- Layout.fillWidth: true
backendValue: backendValues.texture
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+
+ PropertyLabel {
text: qsTr("Enabled")
tooltip: qsTr("Texture enable state.")
}
+
SecondColumnLayout {
CheckBox {
text: backendValues.enabled.valueToString
backendValue: backendValues.enabled
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/TextureInputSpecifics.qml b/src/imports/quick3d/designer/TextureInputSpecifics.qml
index 32e714e6..08d4cb45 100644
--- a/src/imports/quick3d/designer/TextureInputSpecifics.qml
+++ b/src/imports/quick3d/designer/TextureInputSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/TextureSection.qml b/src/imports/quick3d/designer/TextureSection.qml
index a3805803..18a3f279 100644
--- a/src/imports/quick3d/designer/TextureSection.qml
+++ b/src/imports/quick3d/designer/TextureSection.qml
@@ -28,39 +28,48 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Image")
width: parent.width
+
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Holds the location of an image file containing the data used by the texture.")
}
+
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.source
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Source Item")
tooltip: qsTr("Defines an item to be used as the source of the texture.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick.Item"
- Layout.fillWidth: true
backendValue: backendValues.sourceItem
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("U Scale")
- tooltip: qsTr("Defines how to scale the U texture coordinate when mapping to UV coordinates of a mesh.")
+ PropertyLabel {
+ text: qsTr("Scale")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -68,68 +77,95 @@ Section {
realDragRange: 2
decimals: 2
backendValue: backendValues.scaleU
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- Label {
- text: qsTr("V Scale")
- tooltip: qsTr("Defines how to scale the V texture coordinate when mapping to UV coordinates of a mesh.")
- }
- SecondColumnLayout {
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "U"
+ tooltip: qsTr("Defines how to scale the U texture coordinate when mapping to UV coordinates of a mesh.")
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
maximumValue: 999999
minimumValue: 0
realDragRange: 2
decimals: 2
backendValue: backendValues.scaleV
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "V"
+ tooltip: qsTr("Defines how to scale the V texture coordinate when mapping to UV coordinates of a mesh.")
+ }
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Texture Mapping")
tooltip: qsTr("Defines which method of mapping to use when sampling this texture.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["UV", "Environment", "LightProbe"]
backendValue: backendValues.mappingMode
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("U Tiling")
tooltip: qsTr("Controls how the texture is mapped when the U scaling value is greater than 1.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["Unknown", "ClampToEdge", "MirroredRepeat", "Repeat"]
backendValue: backendValues.tilingModeHorizontal
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("V Tiling")
tooltip: qsTr("Controls how the texture is mapped when the V scaling value is greater than 1.")
}
+
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["Unknown", "ClampToEdge", "MirroredRepeat", "Repeat"]
backendValue: backendValues.tilingModeVertical
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("UV Rotation")
tooltip: qsTr("Rotates the texture around the pivot point.")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -137,14 +173,17 @@ Section {
realDragRange: 360
decimals: 0
backendValue: backendValues.rotationUV
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("U Position")
- tooltip: qsTr("Offsets the U coordinate mapping from left to right.")
+ PropertyLabel {
+ text: qsTr("Position")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -153,15 +192,19 @@ Section {
decimals: 2
stepSize: 0.1
backendValue: backendValues.positionU
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- Label {
- text: qsTr("V Position")
- tooltip: qsTr("Offsets the V coordinate mapping from bottom to top.")
- }
- SecondColumnLayout {
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "U"
+ tooltip: qsTr("Offsets the U coordinate mapping from left to right.")
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
maximumValue: 999999
minimumValue: -999999
@@ -169,14 +212,24 @@ Section {
decimals: 2
stepSize: 0.1
backendValue: backendValues.positionV
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "V"
+ tooltip: qsTr("Offsets the V coordinate mapping from bottom to top.")
+ }
+
+ ExpandingSpacer {}
}
- Label {
- text: qsTr("U Pivot")
- tooltip: qsTr("Sets the pivot U position.")
+ PropertyLabel {
+ text: qsTr("Pivot")
}
+
SecondColumnLayout {
SpinBox {
maximumValue: 999999
@@ -185,15 +238,19 @@ Section {
decimals: 2
stepSize: 0.1
backendValue: backendValues.pivotU
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- Label {
- text: qsTr("V Pivot")
- tooltip: qsTr("Sets the pivot V position.")
- }
- SecondColumnLayout {
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "U"
+ tooltip: qsTr("Sets the pivot U position.")
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
SpinBox {
maximumValue: 999999
minimumValue: -999999
@@ -201,10 +258,18 @@ Section {
decimals: 2
stepSize: 0.1
backendValue: backendValues.pivotV
- Layout.fillWidth: true
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
- }
- }
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ text: "V"
+ tooltip: qsTr("Sets the pivot V position.")
+ }
+ ExpandingSpacer {}
+ }
+ }
}
diff --git a/src/imports/quick3d/designer/TextureSpecifics.qml b/src/imports/quick3d/designer/TextureSpecifics.qml
index 8eec6551..e12b5e7c 100644
--- a/src/imports/quick3d/designer/TextureSpecifics.qml
+++ b/src/imports/quick3d/designer/TextureSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/imports/quick3d/designer/View3DSection.qml b/src/imports/quick3d/designer/View3DSection.qml
index f8f08ad5..132b587a 100644
--- a/src/imports/quick3d/designer/View3DSection.qml
+++ b/src/imports/quick3d/designer/View3DSection.qml
@@ -28,48 +28,61 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
+import StudioTheme 1.0 as StudioTheme
Section {
- caption: qsTr("View3D")
width: parent.width
+ caption: qsTr("View3D")
SectionLayout {
- Label {
+ PropertyLabel {
text: qsTr("Camera")
tooltip: qsTr("Specifies which camera is used to render the scene.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Camera"
- Layout.fillWidth: true
backendValue: backendValues.camera
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Environment")
tooltip: qsTr("Specifies the scene environment used to render the scene.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.SceneEnvironment"
- Layout.fillWidth: true
backendValue: backendValues.environment
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
- Label {
+ PropertyLabel {
text: qsTr("Import Scene")
tooltip: qsTr("Defines the reference node of the scene to render to the viewport.")
}
+
SecondColumnLayout {
IdComboBox {
typeFilter: "QtQuick3D.Node"
- Layout.fillWidth: true
backendValue: backendValues.importScene
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
}
+
+ ExpandingSpacer {}
}
}
}
diff --git a/src/imports/quick3d/designer/View3DSpecifics.qml b/src/imports/quick3d/designer/View3DSpecifics.qml
index b0df5386..55d2ede1 100644
--- a/src/imports/quick3d/designer/View3DSpecifics.qml
+++ b/src/imports/quick3d/designer/View3DSpecifics.qml
@@ -28,8 +28,8 @@
****************************************************************************/
import QtQuick 2.15
+import QtQuick.Layouts 1.15
import HelperWidgets 2.0
-import QtQuick.Layouts 1.12
Column {
width: parent.width
diff --git a/src/plugins/assetimporters/assimp/assimpimporter.cpp b/src/plugins/assetimporters/assimp/assimpimporter.cpp
index f3660fdd..f74236dc 100644
--- a/src/plugins/assetimporters/assimp/assimpimporter.cpp
+++ b/src/plugins/assetimporters/assimp/assimpimporter.cpp
@@ -554,7 +554,7 @@ void AssimpImporter::generateNodeProperties(aiNode *node, QTextStream &output, i
// Decompose Transform Matrix to get properties
aiVector3D scaling;
- aiVector3D rotation;
+ aiQuaternion rotation;
aiVector3D translation;
transformMatrix.Decompose(scaling, rotation, translation);
@@ -564,9 +564,8 @@ void AssimpImporter::generateNodeProperties(aiNode *node, QTextStream &output, i
QSSGQmlUtilities::writeQmlPropertyHelper(output, tabLevel, QSSGQmlUtilities::PropertyMap::Node, QStringLiteral("z"), translation.z);
// rotation
- QSSGQmlUtilities::writeQmlPropertyHelper(output, tabLevel, QSSGQmlUtilities::PropertyMap::Node, QStringLiteral("eulerRotation.x"), qRadiansToDegrees(rotation.x));
- QSSGQmlUtilities::writeQmlPropertyHelper(output, tabLevel, QSSGQmlUtilities::PropertyMap::Node, QStringLiteral("eulerRotation.y"), qRadiansToDegrees(rotation.y));
- QSSGQmlUtilities::writeQmlPropertyHelper(output, tabLevel, QSSGQmlUtilities::PropertyMap::Node, QStringLiteral("eulerRotation.z"), qRadiansToDegrees(rotation.z));
+ QQuaternion rot(rotation.w, rotation.x, rotation.y, rotation.z);
+ QSSGQmlUtilities::writeQmlPropertyHelper(output, tabLevel, QSSGQmlUtilities::PropertyMap::Node, QStringLiteral("rotation"), rot);
// scale
if (!skipScaling) {
@@ -1338,7 +1337,7 @@ void AssimpImporter::processAnimations(QTextStream &output)
aiNodeAnim *nodeAnim = itr.value();
generateKeyframes(id, "position", nodeAnim->mNumPositionKeys, nodeAnim->mPositionKeys,
keyframeStream, endFrameTime);
- generateKeyframes(id, "eulerRotation", nodeAnim->mNumRotationKeys, nodeAnim->mRotationKeys,
+ generateKeyframes(id, "rotation", nodeAnim->mNumRotationKeys, nodeAnim->mRotationKeys,
keyframeStream, endFrameTime);
generateKeyframes(id, "scale", nodeAnim->mNumScalingKeys, nodeAnim->mScalingKeys,
keyframeStream, endFrameTime);
@@ -1367,14 +1366,14 @@ void AssimpImporter::processAnimations(QTextStream &output)
namespace {
-QVector3D convertToQVector3D(const aiVector3D &vec)
+QString convertToQString(const aiVector3D &vec)
{
- return QVector3D(vec.x, vec.y, vec.z);
+ return QString("Qt.vector3d(%1, %2, %3)").arg(vec.x, vec.y, vec.z);
}
-QVector3D convertToQVector3D(const aiQuaternion &q)
+QString convertToQString(const aiQuaternion &q)
{
- return QQuaternion(q.w, q.x, q.y, q.z).toEulerAngles();
+ return QString("Qt.quaternion(%1, %2, %3, %4)").arg(q.w, q.x, q.y, q.z);
}
}
@@ -1389,37 +1388,25 @@ void AssimpImporter::generateKeyframes(const QString &id, const QString &propert
output << QSSGQmlUtilities::insertTabs(3) << QStringLiteral("property: \"") << propertyName << QStringLiteral("\"\n");
output << QStringLiteral("\n");
- struct Keyframe {
- qreal time;
- QVector3D value;
- };
-
- // First, convert all the keyframe values to QVector3D
- // so that adjacent keyframes can be compared with qFuzzyCompare.
- QList<Keyframe> keyframes;
+ QList<T> keyframes;
for (uint i = 0; i < numKeys; ++i) {
- T key = keys[i];
- Keyframe keyframe = {key.mTime, convertToQVector3D(key.mValue)};
- keyframes.push_back(keyframe);
- if (i == numKeys-1)
- maxKeyframeTime = qMax(maxKeyframeTime, keyframe.time);
+ if (i > 0 && i < numKeys - 1
+ && (keys[i].mValue == keys[i-1].mValue)
+ && (keys[i].mValue == keys[i+1].mValue))
+ continue;
+
+ keyframes.push_back(keys[i]);
}
+ if (numKeys > 0)
+ maxKeyframeTime = qMax(maxKeyframeTime, keys[numKeys - 1].mTime);
+
// Output all the Keyframes except similar ones.
for (int i = 0; i < keyframes.size(); ++i) {
- const Keyframe &keyframe = keyframes[i];
- // Skip keyframes if those are very similar to adjacent ones.
- if (i > 0 && i < keyframes.size()-1
- && qFuzzyCompare(keyframe.value, keyframes[i-1].value)
- && qFuzzyCompare(keyframe.value, keyframes[i+1].value)) {
- keyframes.removeAt(i--);
- continue;
- }
-
output << QSSGQmlUtilities::insertTabs(3) << QStringLiteral("Keyframe {\n");
- output << QSSGQmlUtilities::insertTabs(4) << QStringLiteral("frame: ") << keyframe.time << QStringLiteral("\n");
+ output << QSSGQmlUtilities::insertTabs(4) << QStringLiteral("frame: ") << keyframes[i].mTime << QStringLiteral("\n");
output << QSSGQmlUtilities::insertTabs(4) << QStringLiteral("value: ")
- << QSSGQmlUtilities::variantToQml(keyframe.value) << QStringLiteral("\n");
+ << convertToQString(keyframes[i].mValue) << QStringLiteral("\n");
output << QSSGQmlUtilities::insertTabs(3) << QStringLiteral("}\n");
}
output << QSSGQmlUtilities::insertTabs(2) << QStringLiteral("}\n");
diff --git a/src/quick3d/qquick3dnode.cpp b/src/quick3d/qquick3dnode.cpp
index 5a83fe9b..bc888b7b 100644
--- a/src/quick3d/qquick3dnode.cpp
+++ b/src/quick3d/qquick3dnode.cpp
@@ -942,7 +942,9 @@ void QQuick3DNode::markAllDirty()
This property contains the rotation values for the x, y, and z axis.
These values are stored as a vector3d. Rotation order is assumed to
- be XYZ.
+ be ZXY.
+
+ \sa QQuaternion::fromEulerAngles()
*/
QVector3D QQuick3DNode::eulerRotation() const