diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-15 10:39:15 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-15 12:43:19 +0200 |
commit | 27241b083df419f3a2de928c1d3f5dd8f6459030 (patch) | |
tree | cfe9c73f6b5b35a58a66700f0e4e5187120203ed /examples | |
parent | cc22cc40e889b5b2f0e49ce32f660395cef865b7 (diff) |
Enable giving series and proxies as child items in QML
Task-number: QTRD-2359
Change-Id: I37558b169bb60ee90993c1a8703da0c6745a9db0
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/qmlbars/qml/qmlbars/data.qml | 30 | ||||
-rw-r--r-- | examples/qmlbars/qml/qmlbars/main.qml | 38 | ||||
-rw-r--r-- | examples/qmlscatter/qml/qmlscatter/data.qml | 18 | ||||
-rw-r--r-- | examples/qmlscatter/qml/qmlscatter/main.qml | 15 | ||||
-rw-r--r-- | examples/qmlsurface/qml/qmlsurface/data.qml | 32 | ||||
-rw-r--r-- | examples/qmlsurface/qml/qmlsurface/main.qml | 44 |
6 files changed, 77 insertions, 100 deletions
diff --git a/examples/qmlbars/qml/qmlbars/data.qml b/examples/qmlbars/qml/qmlbars/data.qml index 522926e8..64df4c6a 100644 --- a/examples/qmlbars/qml/qmlbars/data.qml +++ b/examples/qmlbars/qml/qmlbars/data.qml @@ -22,11 +22,7 @@ import QtDataVisualization 1.0 Item { property alias model: dataModel property alias mapping: valueMapping - property alias proxy: modelProxy - property alias series: barSeries property alias secondaryMapping: secondaryMapping - property alias secondaryProxy: secondaryProxy - property alias secondarySeries: secondarySeries //! [1] BarDataMapping { @@ -36,13 +32,6 @@ Item { valueRole: "expenses" } //! [1] - //! [2] - ItemModelBarDataProxy { - id: modelProxy - activeMapping: valueMapping - itemModel: dataModel - } - //! [2] BarDataMapping { id: secondaryMapping @@ -51,25 +40,6 @@ Item { valueRole: "income" } - ItemModelBarDataProxy { - id: secondaryProxy - activeMapping: secondaryMapping - itemModel: dataModel - } - - Bar3DSeries { - id: barSeries - dataProxy: modelProxy - itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" - } - - Bar3DSeries { - id: secondarySeries - visible: false - dataProxy: secondaryProxy - itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" - } - //! [0] ListModel { id: dataModel diff --git a/examples/qmlbars/qml/qmlbars/main.qml b/examples/qmlbars/qml/qmlbars/main.qml index 4346f392..9432d44b 100644 --- a/examples/qmlbars/qml/qmlbars/main.qml +++ b/examples/qmlbars/qml/qmlbars/main.qml @@ -56,12 +56,34 @@ Item { scene.activeCamera.cameraPreset: AbstractGraph3D.CameraPresetIsometricLeftHigh columnAxis: graphAxes.column valueAxis: graphAxes.expenses - seriesList: [graphData.series, graphData.secondarySeries] + + Bar3DSeries { + id: barSeries + itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" + + ItemModelBarDataProxy { + id: modelProxy + activeMapping: graphData.mapping + itemModel: graphData.model + } + } + + Bar3DSeries { + id: secondarySeries + visible: false + itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" + + ItemModelBarDataProxy { + id: secondaryProxy + activeMapping: graphData.secondaryMapping + itemModel: graphData.model + } + } onSelectedBarChanged: { // Set tableView current row to selected bar - var rowRole = graphData.proxy.rowLabels[position.x]; - var colRole = graphData.proxy.columnLabels[position.y]; + var rowRole = modelProxy.rowLabels[position.x]; + var colRole = modelProxy.columnLabels[position.y]; var currentRow = tableView.currentRow if (currentRow === -1 || rowRole !== graphData.model.get(currentRow).year || colRole !== graphData.model.get(currentRow).month) { @@ -92,19 +114,19 @@ Item { text: "Show Income" //! [0] onClicked: { - if (graphData.mapping.valueRole === "expenses" && !graphData.secondarySeries.visible) { + if (graphData.mapping.valueRole === "expenses" && !secondarySeries.visible) { // Change mapping to change series data graphData.mapping.valueRole = "income" text = "Show Both" testGraph.valueAxis = graphAxes.income } else if (graphData.mapping.valueRole === "income"){ // Show both data set in separate series - graphData.secondarySeries.visible = true + secondarySeries.visible = true graphData.mapping.valueRole = "expenses" text = "Show Expenses" testGraph.valueAxis = graphAxes.income } else { - graphData.secondarySeries.visible = false + secondarySeries.visible = false text = "Show Income" testGraph.valueAxis = graphAxes.expenses } @@ -168,8 +190,8 @@ Item { //! [2] onCurrentRowChanged: { - var rowIndex = graphData.proxy.activeMapping.rowCategoryIndex(graphData.model.get(currentRow).year) - var colIndex = graphData.proxy.activeMapping.columnCategoryIndex(graphData.model.get(currentRow).month) + var rowIndex = modelProxy.activeMapping.rowCategoryIndex(graphData.model.get(currentRow).year) + var colIndex = modelProxy.activeMapping.columnCategoryIndex(graphData.model.get(currentRow).month) testGraph.selectedBar = Qt.point(rowIndex, colIndex) } //! [2] diff --git a/examples/qmlscatter/qml/qmlscatter/data.qml b/examples/qmlscatter/qml/qmlscatter/data.qml index 74993135..523aceb0 100644 --- a/examples/qmlscatter/qml/qmlscatter/data.qml +++ b/examples/qmlscatter/qml/qmlscatter/data.qml @@ -21,8 +21,8 @@ import QtDataVisualization 1.0 Item { //! [3] - property alias proxy: modelProxy - property alias series: scatterSeries + property alias mapping: scatterMapping + property alias model: dataModel //! [3] //! [1] @@ -34,20 +34,6 @@ Item { } //! [1] - //! [2] - ItemModelScatterDataProxy { - id: modelProxy - activeMapping: scatterMapping - itemModel: dataModel - } - //! [2] - - Scatter3DSeries { - id: scatterSeries - dataProxy: modelProxy - itemLabelFormat: "X:@xLabel Y:@yLabel Z:@zLabel" - } - //! [0] ListModel { id: dataModel diff --git a/examples/qmlscatter/qml/qmlscatter/main.qml b/examples/qmlscatter/qml/qmlscatter/main.qml index 1e80b52a..6cae72f8 100644 --- a/examples/qmlscatter/qml/qmlscatter/main.qml +++ b/examples/qmlscatter/qml/qmlscatter/main.qml @@ -56,9 +56,6 @@ Item { theme: AbstractGraph3D.ThemeIsabelle shadowQuality: AbstractGraph3D.ShadowQualitySoftLow //! [3] - //! [5] - seriesList: [graphData.series] - //! [5] //! [6] axisX.segmentCount: 3 axisX.subSegmentCount: 2 @@ -70,6 +67,18 @@ Item { axisY.subSegmentCount: 2 axisY.labelFormat: "%.2f" //! [6] + //! [5] + Scatter3DSeries { + id: scatterSeries + itemLabelFormat: "X:@xLabel Y:@yLabel Z:@zLabel" + + ItemModelScatterDataProxy { + activeMapping: graphData.mapping + itemModel: graphData.model + } + } + + //! [5] } } diff --git a/examples/qmlsurface/qml/qmlsurface/data.qml b/examples/qmlsurface/qml/qmlsurface/data.qml index 36c7671a..f9b008df 100644 --- a/examples/qmlsurface/qml/qmlsurface/data.qml +++ b/examples/qmlsurface/qml/qmlsurface/data.qml @@ -22,20 +22,6 @@ import QtDataVisualization 1.0 Item { property alias mapping: surfaceMapping property alias model: dataModel - property alias series: surfaceSeries - property alias heightSeries: heightSeries - - //! [0] - HeightMapSurfaceDataProxy { - id: heightMapProxy - heightMapFile: ":/heightmaps/image" - // We don't want the default data values set by heightmap proxy. - minZValue: 30 - maxZValue: 60 - minXValue: 67 - maxXValue: 97 - } - //! [0] //! [2] SurfaceDataMapping { @@ -46,24 +32,6 @@ Item { } //! [2] - //! [3] - ItemModelSurfaceDataProxy { - id: modelProxy - activeMapping: surfaceMapping - itemModel: dataModel - } - //! [3] - - Surface3DSeries { - id: surfaceSeries - dataProxy: modelProxy - } - - Surface3DSeries { - id: heightSeries - dataProxy: heightMapProxy - } - //! [1] ListModel { id: dataModel diff --git a/examples/qmlsurface/qml/qmlsurface/main.qml b/examples/qmlsurface/qml/qmlsurface/main.qml index f91b6a76..2b44b1d4 100644 --- a/examples/qmlsurface/qml/qmlsurface/main.qml +++ b/examples/qmlsurface/qml/qmlsurface/main.qml @@ -57,7 +57,6 @@ Item { font.family: "STCaiyun" font.pointSize: 35 scene.activeCamera.cameraPreset: AbstractGraph3D.CameraPresetIsometricLeft - seriesList: [surfaceData.series] axisY.min: 0.0 axisY.max: 500.0 axisX.segmentCount: 10 @@ -71,6 +70,15 @@ Item { axisY.labelFormat: "%i" gradient: surfaceGradient + Surface3DSeries { + id: surfaceSeries + + ItemModelSurfaceDataProxy { + activeMapping: surfaceData.mapping + itemModel: surfaceData.model + } + } + // Since flat is not supported on all platforms, and changes back to smooth // asynchronously on those platforms, handle button text on changed // signal handler rather than when we set the value. @@ -84,6 +92,20 @@ Item { } } + // TODO: Kept outside until surface supports multiple added series (QTRD-2579) + Surface3DSeries { + id: heightSeries + + HeightMapSurfaceDataProxy { + heightMapFile: ":/heightmaps/image" + // We don't want the default data values set by heightmap proxy. + minZValue: 30 + maxZValue: 60 + minXValue: 67 + maxXValue: 97 + } + } + NewButton { id: surfaceGridToggle anchors.top: parent.top @@ -110,12 +132,12 @@ Item { text: "Hide Surface" onClicked: { if (surfaceplot.seriesList[0].visible === true) { - surfaceData.series.visible = false; - surfaceData.heightSeries.visible = false; + surfaceSeries.visible = false; + heightSeries.visible = false; text = "Show Surface" } else { - surfaceData.series.visible = true; - surfaceData.heightSeries.visible = true; + surfaceSeries.visible = true; + heightSeries.visible = true; text = "Hide Surface" } } @@ -173,19 +195,19 @@ Item { id: seriesToggle anchors.top: gridToggle.bottom width: gridToggle.width - text: "Switch to Item Model Proxy" + text: "Switch to Item Model Series" //! [3] onClicked: { - if (surfaceplot.seriesList[0] === surfaceData.heightSeries) { + if (surfaceplot.seriesList[0] === heightSeries) { surfaceplot.axisY.max = 500.0 - surfaceplot.seriesList = [surfaceData.series] + surfaceplot.seriesList = [surfaceSeries] middleGradient.position = 0.25 - text = "Switch to Height Map Proxy" + text = "Switch to Height Map Series" } else { surfaceplot.axisY.max = 250.0 - surfaceplot.seriesList = [surfaceData.heightSeries] + surfaceplot.seriesList = [heightSeries] middleGradient.position = 0.55 - text = "Switch to Item Model Proxy" + text = "Switch to Item Model Series" } } //! [3] |