diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-11 13:22:54 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-15 08:24:15 +0200 |
commit | 999ffa01d20f75a457da62d41c0fabfc32e5e1bb (patch) | |
tree | c5267f6831d5ff61444f85b2110f7150e20d3451 /examples/qmlbars | |
parent | bbb874d0591215164b2030db60dc9d6a95f4c8fe (diff) |
Basic multiseries support
Task-number: QTRD-2548
Change-Id: Iba324c0e8be56f2b3f8f6c6a992883c134a51a9d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'examples/qmlbars')
-rw-r--r-- | examples/qmlbars/qml/qmlbars/data.qml | 33 | ||||
-rw-r--r-- | examples/qmlbars/qml/qmlbars/main.qml | 19 |
2 files changed, 46 insertions, 6 deletions
diff --git a/examples/qmlbars/qml/qmlbars/data.qml b/examples/qmlbars/qml/qmlbars/data.qml index 210eedde..522926e8 100644 --- a/examples/qmlbars/qml/qmlbars/data.qml +++ b/examples/qmlbars/qml/qmlbars/data.qml @@ -20,9 +20,13 @@ import QtQuick 2.1 import QtDataVisualization 1.0 Item { - property alias mapping: valueMapping 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 { @@ -39,6 +43,33 @@ Item { itemModel: dataModel } //! [2] + + BarDataMapping { + id: secondaryMapping + rowRole: "year" + columnRole: "month" + 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 db28d569..4346f392 100644 --- a/examples/qmlbars/qml/qmlbars/main.qml +++ b/examples/qmlbars/qml/qmlbars/main.qml @@ -50,14 +50,13 @@ Item { font.pointSize: 35 theme: AbstractGraph3D.ThemeRetro labelStyle: AbstractGraph3D.LabelStyleFromTheme - dataProxy: graphData.proxy barThickness: 0.5 barSpacing: Qt.size(0.5, 0.5) barSpacingRelative: false - scene.activeCamera.cameraPreset: AbstractGraph3D.CameraPresetRight + scene.activeCamera.cameraPreset: AbstractGraph3D.CameraPresetIsometricLeftHigh columnAxis: graphAxes.column valueAxis: graphAxes.expenses - itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel" + seriesList: [graphData.series, graphData.secondarySeries] onSelectedBarChanged: { // Set tableView current row to selected bar @@ -93,12 +92,19 @@ Item { text: "Show Income" //! [0] onClicked: { - if (graphData.mapping.valueRole === "expenses") { + if (graphData.mapping.valueRole === "expenses" && !graphData.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 + graphData.mapping.valueRole = "expenses" text = "Show Expenses" testGraph.valueAxis = graphAxes.income } else { - graphData.mapping.valueRole = "expenses" + graphData.secondarySeries.visible = false text = "Show Income" testGraph.valueAxis = graphAxes.expenses } @@ -134,12 +140,15 @@ Item { if (testGraph.rowAxis.max !== 6) { text = "Show 2010 - 2012" graphData.mapping.autoRowCategories = true + graphData.secondaryMapping.autoRowCategories = true } else { text = "Show all years" // Explicitly defining row categories, since we do not want to show data for // all years in the model, just for the selected ones. graphData.mapping.autoRowCategories = false + graphData.secondaryMapping.autoRowCategories = false graphData.mapping.rowCategories = ["2010", "2011", "2012"] + graphData.secondaryMapping.rowCategories = ["2010", "2011", "2012"] } } //! [1] |