diff options
Diffstat (limited to 'tests/manual/qmlvolume/qml/qmlvolume')
-rw-r--r-- | tests/manual/qmlvolume/qml/qmlvolume/NewButton.qml | 55 | ||||
-rw-r--r-- | tests/manual/qmlvolume/qml/qmlvolume/main.qml | 167 |
2 files changed, 222 insertions, 0 deletions
diff --git a/tests/manual/qmlvolume/qml/qmlvolume/NewButton.qml b/tests/manual/qmlvolume/qml/qmlvolume/NewButton.qml new file mode 100644 index 00000000..0f9a7a5b --- /dev/null +++ b/tests/manual/qmlvolume/qml/qmlvolume/NewButton.qml @@ -0,0 +1,55 @@ +/****************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Data Visualization module. +** +** $QT_BEGIN_LICENSE:COMM$ +** +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** $QT_END_LICENSE$ +** +******************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Controls 1.0 +import QtQuick.Controls.Styles 1.0 + +Item { + id: newbutton + + property alias text: buttonText.text + + signal clicked + + implicitWidth: buttonText.implicitWidth + 5 + implicitHeight: buttonText.implicitHeight + 10 + + Button { + id: buttonText + width: parent.width + height: parent.height + + style: ButtonStyle { + label: Component { + Text { + text: buttonText.text + clip: true + wrapMode: Text.WordWrap + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + anchors.fill: parent + } + } + } + onClicked: newbutton.clicked() + } +} diff --git a/tests/manual/qmlvolume/qml/qmlvolume/main.qml b/tests/manual/qmlvolume/qml/qmlvolume/main.qml new file mode 100644 index 00000000..80f39685 --- /dev/null +++ b/tests/manual/qmlvolume/qml/qmlvolume/main.qml @@ -0,0 +1,167 @@ +/****************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Data Visualization module. +** +** $QT_BEGIN_LICENSE:COMM$ +** +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** $QT_END_LICENSE$ +** +******************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Layouts 1.0 +import QtQuick.Controls 1.0 +import QtDataVisualization 1.2 +import "." + +Item { + id: mainView + width: 1280 + height: 1024 + + Item { + id: dataView + anchors.bottom: parent.bottom + width: parent.width + height: parent.height - buttonLayout.height + + Surface3D { + id: surfaceGraph + + width: dataView.width + height: dataView.height + orthoProjection: true + //measureFps: true + + onCurrentFpsChanged: { + if (fps > 10) + fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps) + else + fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps * 10.0) / 10.0 + } + + Surface3DSeries { + id: surfaceSeries + drawMode: Surface3DSeries.DrawSurface; + flatShadingEnabled: false; + meshSmooth: true + itemLabelFormat: "@xLabel, @zLabel: @yLabel" + itemLabelVisible: false + + onItemLabelChanged: { + if (surfaceSeries.selectedPoint === surfaceSeries.invalidSelectionPosition) + selectionText.text = "No selection" + else + selectionText.text = surfaceSeries.itemLabel + } + } + + Component.onCompleted: { + mainView.createVolume(); + } + } + } + + Rectangle { + width: parent.width + height: 50 + anchors.left: parent.left + anchors.top: parent.top + color: surfaceGraph.theme.backgroundColor + + ColumnLayout { + anchors.fill: parent + RowLayout { + id: sliderLayout + anchors.top: parent.top + Layout.fillHeight: true + Layout.fillWidth: true + Layout.minimumHeight: 150 + spacing: 0 + + Rectangle { + Layout.fillHeight: true + Layout.fillWidth: true + Layout.minimumWidth: fpsText.implicitWidth + 10 + Layout.maximumWidth: fpsText.implicitWidth + 10 + Layout.minimumHeight: 50 + Layout.maximumHeight: 50 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + border.color: "gray" + border.width: 1 + radius: 4 + + Text { + id: fpsText + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } + } + } + + RowLayout { + id: buttonLayout + Layout.fillHeight: true + Layout.fillWidth: true + Layout.minimumHeight: 50 + anchors.bottom: parent.bottom + spacing: 0 + + NewButton { + id: sliceButton + Layout.fillHeight: true + Layout.fillWidth: true + + text: "Slice" + + onClicked: { + if (volumeItem.sliceIndexZ == -1) { + volumeItem.sliceIndexZ = 128 + volumeItem.drawSlices = true + volumeItem.drawSliceFrames = true + } else { + volumeItem.sliceIndexZ = -1 + volumeItem.drawSlices = false + volumeItem.drawSliceFrames = false + } + } + } + NewButton { + id: exitButton + Layout.fillHeight: true + Layout.fillWidth: true + + text: "Quit" + + onClicked: Qt.quit(0); + } + } + } + + } + + Custom3DVolume { + id: volumeItem + alphaMultiplier: 0.3 + preserveOpacity: true + useHighDefShader: false + } + + function createVolume() { + surfaceGraph.addCustomItem(volumeItem) + dataSource.fillVolume(volumeItem) + } +} |