diff options
Diffstat (limited to 'examples/datavisualization/qmlscatter/qml')
-rw-r--r-- | examples/datavisualization/qmlscatter/qml/qmlscatter/Data.qml | 2 | ||||
-rw-r--r-- | examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml | 213 |
2 files changed, 113 insertions, 102 deletions
diff --git a/examples/datavisualization/qmlscatter/qml/qmlscatter/Data.qml b/examples/datavisualization/qmlscatter/qml/qmlscatter/Data.qml index 2cdc068a..e38bba91 100644 --- a/examples/datavisualization/qmlscatter/qml/qmlscatter/Data.qml +++ b/examples/datavisualization/qmlscatter/qml/qmlscatter/Data.qml @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick diff --git a/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml b/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml index da260298..f1ccabde 100644 --- a/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml +++ b/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml @@ -1,20 +1,25 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause //! [0] import QtQuick -import QtQuick.Layouts import QtQuick.Controls -import QtDataVisualization 1.2 -import "." +import QtDataVisualization //! [0] //! [1] Item { id: mainView //! [1] - width: 500 - height: 500 + width: 1600 + height: 1200 + + property bool portraitMode: width < height + // Adjust the button width based on screen orientation: + // If we're in portrait mode, just fit two buttons side-by-side, otherwise + // fit all of the buttons side-by-side. + property real buttonWidth: mainView.portraitMode ? (mainView.width / 2 - 8) + : (mainView.width / 6 - 6) //! [4] Data { @@ -24,15 +29,15 @@ Item { //! [13] Theme3D { - id: themeIsabelle - type: Theme3D.ThemeIsabelle + id: themeQt + type: Theme3D.ThemeQt font.pointSize: 40 } //! [13] Theme3D { - id: themeArmyBlue - type: Theme3D.ThemeArmyBlue + id: themeRetro + type: Theme3D.ThemeRetro } //! [8] @@ -42,18 +47,21 @@ Item { anchors.bottom: parent.bottom //! [9] width: parent.width - height: parent.height - buttonLayout.height + // Adjust the space based on screen orientation: + // If we're in portrait mode, we have 3 rows of buttons, otherwise they are all in one row. + height: parent.height - (mainView.portraitMode ? shadowToggle.implicitHeight * 3 + 25 + : shadowToggle.implicitHeight + 10) //! [8] //! [2] Scatter3D { id: scatterGraph - width: dataView.width - height: dataView.height + anchors.fill: parent //! [2] //! [3] - theme: themeIsabelle - shadowQuality: AbstractGraph3D.ShadowQualitySoftLow + theme: themeQt + shadowQuality: AbstractGraph3D.ShadowQualityHigh + scene.activeCamera.cameraPreset: Camera3D.CameraPresetFront //! [3] //! [6] axisX.segmentCount: 3 @@ -88,7 +96,7 @@ Item { Scatter3DSeries { id: scatterSeriesTwo itemLabelFormat: "Series 2: X:@xLabel Y:@yLabel Z:@zLabel" - itemSize: 0.1 + itemSize: 0.05 mesh: Abstract3DSeries.MeshCube //! [12] @@ -102,7 +110,7 @@ Item { Scatter3DSeries { id: scatterSeriesThree itemLabelFormat: "Series 3: X:@xLabel Y:@yLabel Z:@zLabel" - itemSize: 0.2 + itemSize: 0.1 mesh: Abstract3DSeries.MeshMinimal ItemModelScatterDataProxy { @@ -115,103 +123,106 @@ Item { } } - RowLayout { - id: buttonLayout - Layout.minimumHeight: cameraToggle.height - width: parent.width + //! [7] + Button { + id: shadowToggle + width: mainView.buttonWidth // Calculated elsewhere based on screen orientation anchors.left: parent.left - spacing: 0 - //! [7] - Button { - id: shadowToggle - Layout.fillHeight: true - Layout.fillWidth: true - text: scatterGraph.shadowsSupported ? "Hide Shadows" : "Shadows not supported" - enabled: scatterGraph.shadowsSupported - onClicked: { - if (scatterGraph.shadowQuality === AbstractGraph3D.ShadowQualityNone) { - scatterGraph.shadowQuality = AbstractGraph3D.ShadowQualitySoftLow; - text = "Hide Shadows"; - } else { - scatterGraph.shadowQuality = AbstractGraph3D.ShadowQualityNone; - text = "Show Shadows"; - } + anchors.top: parent.top + anchors.margins: 5 + text: scatterGraph.shadowsSupported ? "Hide Shadows" : "Shadows not supported" + enabled: scatterGraph.shadowsSupported + onClicked: { + if (scatterGraph.shadowQuality === AbstractGraph3D.ShadowQualityNone) { + scatterGraph.shadowQuality = AbstractGraph3D.ShadowQualityHigh; + text = "Hide Shadows"; + } else { + scatterGraph.shadowQuality = AbstractGraph3D.ShadowQualityNone; + text = "Show Shadows"; } } - //! [7] - - Button { - id: smoothToggle - Layout.fillHeight: true - Layout.fillWidth: true - text: "Use Smooth for Series One" - onClicked: { - if (scatterSeries.meshSmooth === false) { - text = "Use Flat for Series One"; - scatterSeries.meshSmooth = true; - } else { - text = "Use Smooth for Series One" - scatterSeries.meshSmooth = false; - } + } + //! [7] + + Button { + id: smoothToggle + width: mainView.buttonWidth + anchors.left: shadowToggle.right + anchors.top: parent.top + anchors.margins: 5 + text: "Use Smooth for Series One" + onClicked: { + if (!scatterSeries.meshSmooth) { + text = "Use Flat for Series One"; + scatterSeries.meshSmooth = true; + } else { + text = "Use Smooth for Series One"; + scatterSeries.meshSmooth = false; } } + } - Button { - id: cameraToggle - Layout.fillHeight: true - Layout.fillWidth: true - text: "Change Camera Placement" - onClicked: { - if (scatterGraph.scene.activeCamera.cameraPreset === Camera3D.CameraPresetFront) { - scatterGraph.scene.activeCamera.cameraPreset = - Camera3D.CameraPresetIsometricRightHigh; - } else { - scatterGraph.scene.activeCamera.cameraPreset = Camera3D.CameraPresetFront; - } + Button { + id: cameraToggle + width: mainView.buttonWidth + anchors.left: mainView.portraitMode ? parent.left : smoothToggle.right + anchors.top: mainView.portraitMode ? smoothToggle.bottom : parent.top + anchors.margins: 5 + text: "Change Camera Placement" + onClicked: { + if (scatterGraph.scene.activeCamera.cameraPreset === Camera3D.CameraPresetFront) { + scatterGraph.scene.activeCamera.cameraPreset = + Camera3D.CameraPresetIsometricRightHigh; + } else { + scatterGraph.scene.activeCamera.cameraPreset = Camera3D.CameraPresetFront; } } + } - Button { - id: themeToggle - Layout.fillHeight: true - Layout.fillWidth: true - text: "Change Theme" - onClicked: { - if (scatterGraph.theme.type === Theme3D.ThemeArmyBlue) { - scatterGraph.theme = themeIsabelle - } else { - scatterGraph.theme = themeArmyBlue - } - if (scatterGraph.theme.backgroundEnabled === true) { - backgroundToggle.text = "Hide Background"; - } else { - backgroundToggle.text = "Show Background"; - } - } + Button { + id: themeToggle + width: mainView.buttonWidth + anchors.left: cameraToggle.right + anchors.top: mainView.portraitMode ? smoothToggle.bottom : parent.top + anchors.margins: 5 + text: "Change Theme" + onClicked: { + if (scatterGraph.theme.type === Theme3D.ThemeRetro) + scatterGraph.theme = themeQt; + else + scatterGraph.theme = themeRetro; + if (scatterGraph.theme.backgroundEnabled) + backgroundToggle.text = "Hide Background"; + else + backgroundToggle.text = "Show Background"; } + } - Button { - id: backgroundToggle - Layout.fillHeight: true - Layout.fillWidth: true - text: "Hide Background" - onClicked: { - if (scatterGraph.theme.backgroundEnabled === true) { - scatterGraph.theme.backgroundEnabled = false; - text = "Show Background"; - } else { - scatterGraph.theme.backgroundEnabled = true; - text = "Hide Background"; - } + Button { + id: backgroundToggle + width: mainView.buttonWidth + anchors.left: mainView.portraitMode ? parent.left : themeToggle.right + anchors.top: mainView.portraitMode ? themeToggle.bottom : parent.top + anchors.margins: 5 + text: "Hide Background" + onClicked: { + if (scatterGraph.theme.backgroundEnabled) { + scatterGraph.theme.backgroundEnabled = false; + text = "Show Background"; + } else { + scatterGraph.theme.backgroundEnabled = true; + text = "Hide Background"; } } + } - Button { - id: exitButton - Layout.fillHeight: true - Layout.fillWidth: true - text: "Quit" - onClicked: Qt.quit(); - } + Button { + id: exitButton + width: mainView.buttonWidth + anchors.left: backgroundToggle.right + anchors.top: mainView.portraitMode ? themeToggle.bottom : parent.top + anchors.margins: 5 + text: "Quit" + onClicked: Qt.quit(); } } |