blob: e9eb84c56f87630e30ab54155516fb52582e217d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick3D
import QtQuick3D.Helpers
Pane {
id: panel
required property PlaneGeometry target
ColumnLayout {
width: panel.width
Label {
text: "Plane Settings"
}
RowLayout {
Layout.fillWidth: true
Label {
text: "width"
}
Slider {
Layout.fillWidth: true
from: 0
to: 100
// stepSize: 1
value: panel.target.width
onValueChanged: panel.target.width = value
}
Label {
text: panel.target.width.toFixed(1)
Layout.minimumWidth: 50
}
}
RowLayout {
Layout.fillWidth: true
Label {
text: "height"
}
Slider {
Layout.fillWidth: true
from: 0
to: 100
// stepSize: 1
value: panel.target.height
onValueChanged: panel.target.height = value
}
Label {
text: panel.target.height.toFixed(1)
Layout.minimumWidth: 50
}
}
RowLayout {
Layout.fillWidth: true
Label {
text: "Mesh Resolution: X"
}
Slider {
Layout.fillWidth: true
from: 0
to: 100
stepSize: 1
value: panel.target.meshResolution.width
onValueChanged: panel.target.meshResolution.width = value
}
Label {
text: panel.target.meshResolution.width
Layout.minimumWidth: 50
}
}
RowLayout {
Layout.fillWidth: true
Label {
text: "Mesh Resolution: Y"
}
Slider {
Layout.fillWidth: true
from: 0
to: 100
stepSize: 1
value: panel.target.meshResolution.height
onValueChanged: panel.target.meshResolution.height = value
}
Label {
text: panel.target.meshResolution.height
Layout.minimumWidth: 50
}
}
RowLayout {
Layout.fillWidth: true
Label {
text: "Plane"
}
ComboBox {
id: planeComboBox
textRole: "text"
valueRole: "value"
implicitContentWidthPolicy: ComboBox.WidestText
onActivated: panel.target.plane = currentValue
Component.onCompleted: currentIndex = indexOfValue(panel.target.plane)
Layout.alignment: Qt.AlignRight
model: [
{ value: PlaneGeometry.XY, text: "XY" },
{ value: PlaneGeometry.XZ, text: "XZ"},
{ value: PlaneGeometry.ZY, text: "ZY"}
]
Connections {
target: panel.target
function onPlaneChanged() {
planeComboBox.currentIndex = planeComboBox.indexOfValue(panel.target.plane)
}
}
}
}
CheckBox {
id: reversedCheckbox
text: "Reversed"
checked: panel.target.reversed
onCheckedChanged: panel.target.reversed = checked
}
CheckBox {
id: mirroredCheckbox
text: "Mirrored (V)"
checked: panel.target.mirrored
onCheckedChanged: panel.target.mirrored = checked
}
}
}
|