summaryrefslogtreecommitdiffstats
path: root/examples/qmlbarchart/qml/qmlbarchart/main.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qmlbarchart/qml/qmlbarchart/main.qml')
-rw-r--r--examples/qmlbarchart/qml/qmlbarchart/main.qml246
1 files changed, 165 insertions, 81 deletions
diff --git a/examples/qmlbarchart/qml/qmlbarchart/main.qml b/examples/qmlbarchart/qml/qmlbarchart/main.qml
index 990c78e6..f10f98b9 100644
--- a/examples/qmlbarchart/qml/qmlbarchart/main.qml
+++ b/examples/qmlbarchart/qml/qmlbarchart/main.qml
@@ -6,116 +6,200 @@
**
** This file is part of the QtDataVis3D module.
**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
+** 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
-** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 2.0
+import QtQuick 2.1
import QtQuick.Window 2.1
+import QtQuick.Controls 1.0
import com.digia.QtDataVis3D 1.0
Item {
id: mainview
- //title: "My MainWindow"
- width: 640
- height: 480
+ width: 800
+ height: 600
visible: true
- Bars3D {
- id: testchart
- width: mainview.width
- height: mainview.height
+ Item {
+ id: dataView
+ width: parent.width - tableView.width
+ height: parent.height
+ anchors.right: parent.right;
- DataItem {
- id: testitem
- label: "Test"
- value: 10
+ BarDataMapping {
+ id: valueMapping
+ rowRole: "year"
+ columnRole: "month"
+ valueRole: "expenses"
+ rowCategories: ["2000", "2001", "2002", "2003", "2004"]
+ columnCategories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
}
- DataItem {
- id: testitem2
- label: "Test2"
- value: -10
- }
- DataItem {
- id: testitem3
- label: "Test3"
- value: 5
+
+ ListModel {
+ id: dataModel
+ ListElement{ year: "2000"; month: "Jan"; expenses: "3"; income: "8" }
+ ListElement{ year: "2000"; month: "Feb"; expenses: "8"; income: "14" }
+ ListElement{ year: "2000"; month: "Mar"; expenses: "10"; income: "20" }
+ ListElement{ year: "2000"; month: "Apr"; expenses: "12"; income: "24" }
+ ListElement{ year: "2000"; month: "May"; expenses: "10"; income: "19" }
+ ListElement{ year: "2000"; month: "Jun"; expenses: "5"; income: "8" }
+ ListElement{ year: "2000"; month: "Jul"; expenses: "1"; income: "4" }
+ ListElement{ year: "2000"; month: "Aug"; expenses: "7"; income: "12" }
+ ListElement{ year: "2000"; month: "Sep"; expenses: "4"; income: "16" }
+ ListElement{ year: "2000"; month: "Oct"; expenses: "22"; income: "33" }
+ ListElement{ year: "2000"; month: "Nov"; expenses: "16"; income: "25" }
+ ListElement{ year: "2000"; month: "Dec"; expenses: "2"; income: "7" }
+
+ ListElement{ year: "2001"; month: "Jan"; expenses: "4"; income: "5" }
+ ListElement{ year: "2001"; month: "Feb"; expenses: "4"; income: "7" }
+ ListElement{ year: "2001"; month: "Mar"; expenses: "11"; income: "14" }
+ ListElement{ year: "2001"; month: "Apr"; expenses: "16"; income: "22" }
+ ListElement{ year: "2001"; month: "May"; expenses: "3"; income: "5" }
+ ListElement{ year: "2001"; month: "Jun"; expenses: "4"; income: "8" }
+ ListElement{ year: "2001"; month: "Jul"; expenses: "7"; income: "9" }
+ ListElement{ year: "2001"; month: "Aug"; expenses: "9"; income: "13" }
+ ListElement{ year: "2001"; month: "Sep"; expenses: "1"; income: "6" }
+ ListElement{ year: "2001"; month: "Oct"; expenses: "14"; income: "25" }
+ ListElement{ year: "2001"; month: "Nov"; expenses: "19"; income: "29" }
+ ListElement{ year: "2001"; month: "Dec"; expenses: "5"; income: "7" }
+
+ ListElement{ year: "2002"; month: "Jan"; expenses: "14"; income: "22" }
+ ListElement{ year: "2002"; month: "Feb"; expenses: "5"; income: "7" }
+ ListElement{ year: "2002"; month: "Mar"; expenses: "1"; income: "9" }
+ ListElement{ year: "2002"; month: "Apr"; expenses: "1"; income: "12" }
+ ListElement{ year: "2002"; month: "May"; expenses: "5"; income: "9" }
+ ListElement{ year: "2002"; month: "Jun"; expenses: "5"; income: "8" }
+ ListElement{ year: "2002"; month: "Jul"; expenses: "3"; income: "7" }
+ ListElement{ year: "2002"; month: "Aug"; expenses: "1"; income: "5" }
+ ListElement{ year: "2002"; month: "Sep"; expenses: "2"; income: "4" }
+ ListElement{ year: "2002"; month: "Oct"; expenses: "10"; income: "13" }
+ ListElement{ year: "2002"; month: "Nov"; expenses: "12"; income: "17" }
+ ListElement{ year: "2002"; month: "Dec"; expenses: "6"; income: "9" }
+
+ ListElement{ year: "2003"; month: "Jan"; expenses: "2"; income: "6" }
+ ListElement{ year: "2003"; month: "Feb"; expenses: "4"; income: "8" }
+ ListElement{ year: "2003"; month: "Mar"; expenses: "7"; income: "12" }
+ ListElement{ year: "2003"; month: "Apr"; expenses: "9"; income: "15" }
+ // rest of 2003 missing on purpose, as well as whole of 2004
}
- DataItem {
- id: testitem4
- label: "Test4"
- value: -7
+ CategoryAxis {
+ id: rowAxis
+ categoryLabels: ["2000", "2001", "2002", "2003", "2004"]
}
- DataItem {
- id: testitem5
- label: "Test5"
- value: 8
+ CategoryAxis {
+ id: columnAxis
+ categoryLabels: ["January", "February", "March", "April", "May", "June",
+ "July", "August", "September", "October", "November", "December"]
}
- DataItem {
- id: testitem6
- label: "Test6"
- value: 1
+ ValueAxis {
+ id: valueAxis
+ min: 0
+ max: 35
+ labelFormat: "M\u20AC"
}
+ Bars3D {
+ id: testchart
+ width: dataView.width
+ height: dataView.height
+ gridVisible: true
+ shadowQuality: Bars3D.ShadowNone
+ selectionMode: Bars3D.ModeItem
+ labelTransparency: Bars3D.TransparencyNone
+ rows: 5
+ columns: 12
+ mapping: valueMapping
+ barThickness: Qt.size(0.5, 1.0)
+ barSpacing: Qt.size(0.5, 0.5)
+ barSpacingRelative: false
+ barType: Bars3D.BevelBars
+ axisX: rowAxis
+ axisY: valueAxis
+ axisZ: columnAxis
+ }
+ }
- DataRow {
- id: testrow1
- function addData() {
- testrow1.addItem(testitem);
- testrow1.addItem(testitem2);
- testrow1.addItem(testitem3);
- testrow1.addItem(testitem4);
- testrow1.addItem(testitem5);
- testrow1.addItem(testitem6);
- }
+ Component.onCompleted: {
+ testchart.data = dataModel
+ }
+
+ TableView {
+ id: tableView
+ x: 0
+ y: 0
+ width: 270
+ height: 500
+ TableViewColumn{ role: "year" ; title: "Year" ; width: 40 }
+ TableViewColumn{ role: "month" ; title: "Month" ; width: 80 }
+ TableViewColumn{ role: "expenses" ; title: "Expenses" ; width: 70 }
+ TableViewColumn{ role: "income" ; title: "Income" ; width: 60 }
+ model: dataModel
+ }
+
+ Rectangle {
+ id: shadowToggle
+ color: "#FFFFFF"
+ x: 0
+ y: tableView.height
+ width: tableView.width
+ height: 50
+
+ TextArea {
+ id: shadowButtonText
+ text: "Toggle Shadows"
+ anchors.fill: parent
+ textColor: "#000000"
}
- //visible: true
- //x: mainview.x + mainview.width
- //y: mainview.y
-
- grid: false
- shadowQuality: Bars3D.ShadowNone
- selectionMode: Bars3D.ModeNone
- labelTransparency: Bars3D.TransparencyNone
-
- function setUpBars3D() {
- /*console.log(parent)
- console.log(container.x)
- console.log(container.y)
- console.log(Window.x)
- console.log(Window.y)
- console.log(Screen.desktopAvailableHeight)
- console.log(Screen.desktopAvailableWidth)
- console.log(mainview.x)
- console.log(mainview.y)
- console.log(x)
- console.log(y)*/
- testchart.setupSampleSpace(6, 1);
- testchart.addDataRow(testrow1);
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (testchart.shadowQuality == Bars3D.ShadowNone) {
+ testchart.shadowQuality = Bars3D.ShadowLow;
+ shadowButtonText.textColor = "#FFFFFF";
+ shadowToggle.color = "#000000";
+ } else {
+ testchart.shadowQuality = Bars3D.ShadowNone;
+ shadowButtonText.textColor = "#000000";
+ shadowToggle.color = "#FFFFFF";
+ }
+ }
}
}
+ Rectangle {
+ id: mappingToggle
+ color: "#FFFFFF"
+ x: 0
+ y: shadowToggle.height + shadowToggle.y
+ width: shadowToggle.width
+ height: 50
- MouseArea {
- anchors.fill: parent
- onClicked: {
- Qt.quit();
+ TextArea {
+ id: mappingButtonText
+ text: "Show Income"
+ anchors.fill: parent
+ textColor: "#000000"
}
- }
- Component.onCompleted: {
- // This allows us to flip the texture to be displayed correctly in scene graph
- // TODO: Find a way to do it in code..
- //rotation.angle = 180
- testrow1.addData();
- testchart.setUpBars3D();
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (valueMapping.valueRole == "expenses") {
+ valueMapping.valueRole = "income"
+ mappingButtonText.text = "Show Expenses"
+ } else {
+ valueMapping.valueRole = "expenses"
+ mappingButtonText.text = "Show Income"
+ }
+ }
+ }
}
}