diff options
Diffstat (limited to 'examples/datavisualization/qmlaxisformatter/qml')
3 files changed, 285 insertions, 0 deletions
diff --git a/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/Data.qml b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/Data.qml new file mode 100644 index 00000000..e692c090 --- /dev/null +++ b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/Data.qml @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +import QtQuick 2.1 + +Item { + property alias model: dataModel + + ListModel { + id: dataModel + ListElement{ xPos: 2.456103; yPos: 1.0; zPos: 5.0 } + ListElement{ xPos: 5.687549; yPos: 3.0; zPos: 2.5 } + ListElement{ xPos: 2.357458; yPos: 4.1; zPos: 1.0 } + ListElement{ xPos: 4.567458; yPos: 4.75; zPos: 3.9 } + ListElement{ xPos: 6.885439; yPos: 4.9; zPos: 7.2 } + ListElement{ xPos: 2.366769; yPos: 13.42; zPos: 3.5 } + ListElement{ xPos: 7.546457; yPos: 233.1; zPos: 6.9 } + ListElement{ xPos: 2.475867; yPos: 32.91; zPos: 4.1 } + ListElement{ xPos: 8.456546; yPos: 153.68; zPos: 9.52 } + ListElement{ xPos: 3.456348; yPos: 52.96; zPos: 1.6 } + ListElement{ xPos: 1.536446; yPos: 32.4; zPos: 2.92 } + ListElement{ xPos: 8.456666; yPos: 114.74; zPos: 8.18 } + ListElement{ xPos: 5.468486; yPos: 83.1; zPos: 3.8 } + ListElement{ xPos: 6.546586 ; yPos: 63.66; zPos: 3.58 } + ListElement{ xPos: 8.567516 ; yPos: 1.82; zPos: 4.64 } + ListElement{ xPos: 7.678984 ; yPos: 213.18; zPos: 7.22 } + ListElement{ xPos: 7.457569 ; yPos: 63.06; zPos: 4.3 } + ListElement{ xPos: 8.456755 ; yPos: 122.64; zPos: 6.44 } + ListElement{ xPos: 6.234536 ; yPos: 63.96; zPos: 4.38 } + ListElement{ xPos: 9.456718 ; yPos: 243.32; zPos: 4.04 } + ListElement{ xPos: 10.789889 ; yPos: 43.4; zPos: 2.78 } + ListElement{ xPos: 11.346554 ; yPos: 345.12; zPos: 3.1 } + ListElement{ xPos: 12.023454 ; yPos: 500.0; zPos: 3.68 } + } +} diff --git a/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/NewButton.qml b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/NewButton.qml new file mode 100644 index 00000000..e4fb99d2 --- /dev/null +++ b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/NewButton.qml @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +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/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml new file mode 100644 index 00000000..7aba08c6 --- /dev/null +++ b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml @@ -0,0 +1,183 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Layouts 1.0 +import QtDataVisualization 1.1 +import CustomFormatter 1.0 +import "." + +Rectangle { + id: mainView + width: 1280 + height: 1024 + + Data { + id: seriesData + } + + Theme3D { + id: themeIsabelle + type: Theme3D.ThemePrimaryColors + font.family: "Lucida Handwriting" + font.pointSize: 40 + } + + //! [1] + ValueAxis3D { + id: dateAxis + formatter: CustomFormatter { + originDate: "2014-01-01" + selectionFormat: "yyyy-MM-dd HH:mm:ss" + } + subSegmentCount: 2 + labelFormat: "yyyy-MM-dd" + min: 0 + max: 14 + } + //! [1] + + //! [2] + ValueAxis3D { + id: logAxis + formatter: LogValueAxis3DFormatter { + id: logAxisFormatter + base: 10 + autoSubGrid: true + showEdgeLabels: true + } + labelFormat: "%.2f" + } + //! [2] + + ValueAxis3D { + id: linearAxis + labelFormat: "%.2f" + min: 0 + max: 500 + } + + //! [0] + ValueAxis3D { + id: valueAxis + segmentCount: 5 + subSegmentCount: 2 + labelFormat: "%.2f" + min: 0 + max: 10 + } + //! [0] + + Item { + id: dataView + anchors.bottom: parent.bottom + width: parent.width + height: parent.height - buttonLayout.height + + Scatter3D { + id: scatterGraph + width: dataView.width + height: dataView.height + theme: themeIsabelle + shadowQuality: AbstractGraph3D.ShadowQualitySoftLow + scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricRight + //! [3] + axisZ: valueAxis + axisY: logAxis + axisX: dateAxis + //! [3] + + Scatter3DSeries { + id: scatterSeries + itemLabelFormat: "@xLabel - (@yLabel, @zLabel)" + meshSmooth: true + ItemModelScatterDataProxy { + itemModel: seriesData.model + xPosRole: "xPos" + yPosRole: "yPos" + zPosRole: "zPos" + } + } + } + } + + RowLayout { + id: buttonLayout + Layout.minimumHeight: exitButton.height + width: parent.width + anchors.left: parent.left + spacing: 0 + + NewButton { + id: yAxisBaseChange + Layout.fillHeight: true + Layout.fillWidth: true + state: "enabled" + onClicked: { + if (logAxisFormatter.base === 10) + logAxisFormatter.base = 0 + else if (logAxisFormatter.base === 2) + logAxisFormatter.base = 10 + else + logAxisFormatter.base = 2 + } + states: [ + State { + name: "enabled" + PropertyChanges { + target: yAxisBaseChange + text: "Y-axis log base: " + logAxisFormatter.base + enabled: true + } + }, + State { + name: "disabled" + PropertyChanges { + target: yAxisBaseChange + text: "Y-axis linear" + enabled: false + } + } + ] + } + + NewButton { + id: yAxisToggle + Layout.fillHeight: true + Layout.fillWidth: true + text: "Toggle Y-axis" + onClicked: { + if (scatterGraph.axisY === linearAxis) { + scatterGraph.axisY = logAxis + yAxisBaseChange.state = "enabled" + } else { + scatterGraph.axisY = linearAxis + yAxisBaseChange.state = "disabled" + } + } + } + + NewButton { + id: exitButton + Layout.fillHeight: true + Layout.fillWidth: true + text: "Quit" + onClicked: Qt.quit(0); + } + } +} |