summaryrefslogtreecommitdiffstats
path: root/examples/qmlbars
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-11 13:22:54 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-15 08:24:15 +0200
commit999ffa01d20f75a457da62d41c0fabfc32e5e1bb (patch)
treec5267f6831d5ff61444f85b2110f7150e20d3451 /examples/qmlbars
parentbbb874d0591215164b2030db60dc9d6a95f4c8fe (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.qml33
-rw-r--r--examples/qmlbars/qml/qmlbars/main.qml19
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]