| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- // Copyright (C) 2023 The Qt Company Ltd.
- // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
- import QtQuick
- import HelperWidgets
- import QtQuick.Layouts
- import QtQuick.Controls as Controls
- Column {
- anchors.left: parent.left
- anchors.right: parent.right
- Section {
- anchors.left: parent.left
- anchors.right: parent.right
- caption: qsTr("Surface")
- SectionLayout {
- PropertyLabel {
- text: qsTr("Flip Grid")
- tooltip: qsTr("Flip horizontal grid")
- Layout.fillWidth: true
- }
- SecondColumnLayout {
- CheckBox {
- backendValue: backendValues.flipHorizontalGrid
- Layout.fillWidth: true
- }
- }
- PropertyLabel {
- text: qsTr("Polar Coordinates")
- tooltip: qsTr("Use polar coordinates")
- Layout.fillWidth: true
- }
- SecondColumnLayout {
- CheckBox {
- id: polarCheckbox
- backendValue: backendValues.polar
- Layout.fillWidth: true
- }
- }
- PropertyLabel {
- text: qsTr("Label Offset")
- tooltip: qsTr("Normalized horizontal radial label offset")
- Layout.fillWidth: true
- visible: polarCheckbox.checked
- }
- SecondColumnLayout {
- visible: polarCheckbox.checked
- SpinBox {
- backendValue: backendValues.radialLabelOffset
- minimumValue: 0.0
- maximumValue: 1.0
- stepSize: 0.01
- decimals: 2
- Layout.fillWidth: true
- }
- }
- PropertyLabel {
- text: qsTr("Selection Mode")
- tooltip: qsTr("Surface point selection mode")
- Layout.fillWidth: true
- }
- SecondColumnLayout {
- id: selectionLayout
- property bool isInModel: backendValue.isInModel;
- property bool isInSubState: backendValue.isInSubState;
- property bool selectionChangedFlag: selectionChanged
- property variant backendValue: backendValues.selectionMode
- property variant valueFromBackend: backendValue.value
- property string enumScope: "Graphs3D.SelectionFlag"
- property string enumSeparator: " | "
- property int checkedCount: 0
- property bool item: false
- property bool row: false
- property bool column: false
- property bool slice: false
- property bool multi: false
- function checkValue(checkedVariable, variableText, expressionBase) {
- var expressionStr = expressionBase
- if (checkedVariable) {
- if (expressionStr !== "") {
- expressionStr += enumSeparator
- }
- expressionStr += enumScope
- expressionStr += "."
- expressionStr += variableText
- checkedCount++
- }
- return expressionStr
- }
- function composeSelectionMode() {
- var expressionStr = ""
- checkedCount = 0
- expressionStr = checkValue(item, "Item", expressionStr)
- expressionStr = checkValue(row, "Row", expressionStr)
- expressionStr = checkValue(column, "Column", expressionStr)
- expressionStr = checkValue(slice, "Slice", expressionStr)
- expressionStr = checkValue(multi, "MultiSeries", expressionStr)
- if (checkedCount === 0)
- backendValue.expression = enumScope + ".None"
- else
- backendValue.expression = expressionStr
- }
- function evaluate() {
- if (backendValue.value === undefined)
- return
- item = (backendValue.expression.indexOf("Item") !== -1)
- row = (backendValue.expression.indexOf("Row") !== -1)
- column = (backendValue.expression.indexOf("Column") !== -1)
- slice = (backendValue.expression.indexOf("Slice") !== -1)
- multi = (backendValue.expression.indexOf("MultiSeries") !== -1)
- itemBox.checked = item
- rowBox.checked = row
- columnBox.checked = column
- sliceBox.checked = slice
- multiSeriesBox.checked = multi
- }
- onSelectionChangedFlagChanged: evaluate()
- onIsInModelChanged: evaluate()
- onIsInSubStateChanged: evaluate()
- onBackendValueChanged: evaluate()
- onValueFromBackendChanged: evaluate()
- ColumnLayout {
- anchors.fill: parent
- Controls.CheckBox {
- id: itemBox
- text: "Item"
- Layout.fillWidth: true
- onClicked: {
- selectionLayout.item = checked
- selectionLayout.composeSelectionMode()
- }
- }
- Controls.CheckBox {
- id: rowBox
- text: "Row"
- Layout.fillWidth: true
- onClicked: {
- selectionLayout.row = checked
- selectionLayout.composeSelectionMode()
- }
- }
- Controls.CheckBox {
- id: columnBox
- text: "Column"
- Layout.fillWidth: true
- onClicked: {
- selectionLayout.column = checked
- selectionLayout.composeSelectionMode()
- }
- }
- Controls.CheckBox {
- id: sliceBox
- text: "Slice"
- Layout.fillWidth: true
- onClicked: {
- selectionLayout.slice = checked
- selectionLayout.composeSelectionMode()
- }
- }
- Controls.CheckBox {
- id: multiSeriesBox
- text: "MultiSeries"
- Layout.fillWidth: true
- onClicked: {
- selectionLayout.multi = checked
- selectionLayout.composeSelectionMode()
- }
- }
- }
- }
- }
- }
- GraphsSection {}
- GraphsCameraSection {}
- }
|