##// END OF EJS Templates
Added axis titles to QML F1 Legends demo
Tero Ahola -
r2218:7f4d3adda53c
parent child
Show More
@@ -1,96 +1,96
1 1 /****************************************************************************
2 2 **
3 3 ** Copyright (C) 2012 Digia Plc
4 4 ** All rights reserved.
5 5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 6 **
7 7 ** This file is part of the Qt Commercial Charts Add-on.
8 8 **
9 9 ** $QT_BEGIN_LICENSE$
10 10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 11 ** accordance with the Qt Commercial License Agreement provided with the
12 12 ** Software or, alternatively, in accordance with the terms contained in
13 13 ** a written agreement between you and Digia.
14 14 **
15 15 ** If you have questions regarding the use of this file, please use
16 16 ** contact form at http://qt.digia.com
17 17 ** $QT_END_LICENSE$
18 18 **
19 19 ****************************************************************************/
20 20
21 21 import QtQuick 1.1
22 22
23 23 //![1]
24 24 XmlListModel {
25 25 // Hard-coded test data
26 26 xml: "<results><row><speedTrap>0</speedTrap><driver>Fittipaldi</driver><speed>104.12</speed></row>"
27 27 +"<row><speedTrap>0</speedTrap><driver>Stewart</driver><speed>106.12</speed></row>"
28 +"<row><speedTrap>0</speedTrap><driver>Hunt</driver><speed>106.12</speed></row>"
28 29 // ...
29 30 //![1]
30 +"<row><speedTrap>0</speedTrap><driver>Hunt</driver><speed>106.12</speed></row>"
31 31 +"<row><speedTrap>1</speedTrap><driver>Fittipaldi</driver><speed>115.12</speed></row>"
32 32 +"<row><speedTrap>1</speedTrap><driver>Stewart</driver><speed>114.12</speed></row>"
33 33 +"<row><speedTrap>1</speedTrap><driver>Hunt</driver><speed>115.12</speed></row>"
34 34 +"<row><speedTrap>2</speedTrap><driver>Hunt</driver><speed>165.23</speed></row>"
35 35 +"<row><speedTrap>2</speedTrap><driver>Fittipaldi</driver><speed>175.23</speed></row>"
36 36 +"<row><speedTrap>2</speedTrap><driver>Stewart</driver><speed>168.23</speed></row>"
37 37 +"<row><speedTrap>3</speedTrap><driver>Hunt</driver><speed>104.87</speed></row>"
38 38 +"<row><speedTrap>3</speedTrap><driver>Fittipaldi</driver><speed>104.43</speed></row>"
39 39 +"<row><speedTrap>3</speedTrap><driver>Stewart</driver><speed>94.83</speed></row>"
40 40 +"<row><speedTrap>4</speedTrap><driver>Hunt</driver><speed>107.87</speed></row>"
41 41 +"<row><speedTrap>4</speedTrap><driver>Fittipaldi</driver><speed>111.84</speed></row>"
42 42 +"<row><speedTrap>4</speedTrap><driver>Stewart</driver><speed>106.84</speed></row>"
43 43 +"<row><speedTrap>5</speedTrap><driver>Hunt</driver><speed>94.87</speed></row>"
44 44 +"<row><speedTrap>5</speedTrap><driver>Stewart</driver><speed>92.37</speed></row>"
45 45 +"<row><speedTrap>5</speedTrap><driver>Fittipaldi</driver><speed>99.37</speed></row>"
46 46 +"<row><speedTrap>6</speedTrap><driver>Hunt</driver><speed>52.87</speed></row>"
47 47 +"<row><speedTrap>6</speedTrap><driver>Fittipaldi</driver><speed>42.87</speed></row>"
48 48 +"<row><speedTrap>6</speedTrap><driver>Stewart</driver><speed>55.87</speed></row>"
49 49 +"<row><speedTrap>7</speedTrap><driver>Hunt</driver><speed>77.87</speed></row>"
50 50 +"<row><speedTrap>7</speedTrap><driver>Fittipaldi</driver><speed>72.87</speed></row>"
51 51 +"<row><speedTrap>7</speedTrap><driver>Stewart</driver><speed>87.87</speed></row>"
52 52 +"<row><speedTrap>8</speedTrap><driver>Hunt</driver><speed>94.17</speed></row>"
53 53 +"<row><speedTrap>8</speedTrap><driver>Fittipaldi</driver><speed>98.17</speed></row>"
54 54 +"<row><speedTrap>8</speedTrap><driver>Stewart</driver><speed>84.17</speed></row>"
55 55 +"<row><speedTrap>9</speedTrap><driver>Hunt</driver><speed>91.87</speed></row>"
56 56 +"<row><speedTrap>9</speedTrap><driver>Fittipaldi</driver><speed>71.87</speed></row>"
57 57 +"<row><speedTrap>9</speedTrap><driver>Stewart</driver><speed>81.87</speed></row>"
58 58 +"<row><speedTrap>10</speedTrap><driver>Hunt</driver><speed>104.87</speed></row>"
59 59 +"<row><speedTrap>10</speedTrap><driver>Fittipaldi</driver><speed>115.87</speed></row>"
60 60 +"<row><speedTrap>10</speedTrap><driver>Stewart</driver><speed>119.87</speed></row>"
61 61 +"<row><speedTrap>11</speedTrap><driver>Hunt</driver><speed>162.87</speed></row>"
62 62 +"<row><speedTrap>11</speedTrap><driver>Fittipaldi</driver><speed>155.84</speed></row>"
63 63 +"<row><speedTrap>11</speedTrap><driver>Stewart</driver><speed>152.84</speed></row>"
64 64 +"<row><speedTrap>12</speedTrap><driver>Hunt</driver><speed>181.87</speed></row>"
65 65 +"<row><speedTrap>12</speedTrap><driver>Fittipaldi</driver><speed>161.85</speed></row>"
66 66 +"<row><speedTrap>12</speedTrap><driver>Stewart</driver><speed>167.85</speed></row>"
67 67 +"<row><speedTrap>13</speedTrap><driver>Hunt</driver><speed>155.87</speed></row>"
68 68 +"<row><speedTrap>13</speedTrap><driver>Fittipaldi</driver><speed>154.87</speed></row>"
69 69 +"<row><speedTrap>13</speedTrap><driver>Stewart</driver><speed>164.87</speed></row>"
70 70 +"<row><speedTrap>14</speedTrap><driver>Hunt</driver><speed>197.57</speed></row>"
71 71 +"<row><speedTrap>14</speedTrap><driver>Fittipaldi</driver><speed>187.54</speed></row>"
72 72 +"<row><speedTrap>14</speedTrap><driver>Stewart</driver><speed>180.54</speed></row>"
73 73 +"<row><speedTrap>15</speedTrap><driver>Fittipaldi</driver><speed>216.87</speed></row>"
74 74 +"<row><speedTrap>15</speedTrap><driver>Hunt</driver><speed>207.87</speed></row>"
75 75 +"<row><speedTrap>15</speedTrap><driver>Stewart</driver><speed>197.87</speed></row>"
76 76 +"<row><speedTrap>16</speedTrap><driver>Hunt</driver><speed>82.87</speed></row>"
77 77 +"<row><speedTrap>16</speedTrap><driver>Fittipaldi</driver><speed>79.37</speed></row>"
78 78 +"<row><speedTrap>16</speedTrap><driver>Stewart</driver><speed>85.37</speed></row>"
79 79 +"<row><speedTrap>17</speedTrap><driver>Hunt</driver><speed>153.87</speed></row>"
80 80 +"<row><speedTrap>17</speedTrap><driver>Fittipaldi</driver><speed>143.87</speed></row>"
81 81 +"<row><speedTrap>17</speedTrap><driver>Stewart</driver><speed>133.87</speed></row>"
82 82 +"<row><speedTrap>18</speedTrap><driver>Hunt</driver><speed>89.87</speed></row>"
83 83 +"<row><speedTrap>18</speedTrap><driver>Fittipaldi</driver><speed>95.85</speed></row>"
84 84 +"<row><speedTrap>18</speedTrap><driver>Stewart</driver><speed>98.85</speed></row>"
85 85 +"<row><speedTrap>19</speedTrap><driver>Hunt</driver><speed>169.87</speed></row>"
86 86 +"<row><speedTrap>19</speedTrap><driver>Stewart</driver><speed>167.87</speed></row>"
87 87 +"<row><speedTrap>19</speedTrap><driver>Fittipaldi</driver><speed>154.87</speed></row>"
88 88 +"</results>"
89 89 //![2]
90 90 query: "/results/row"
91 91
92 92 XmlRole { name: "speedTrap"; query: "speedTrap/string()" }
93 93 XmlRole { name: "driver"; query: "driver/string()" }
94 94 XmlRole { name: "speed"; query: "speed/string()" }
95 95 }
96 96 //![2]
@@ -1,88 +1,93
1 1 /****************************************************************************
2 2 **
3 3 ** Copyright (C) 2012 Digia Plc
4 4 ** All rights reserved.
5 5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 6 **
7 7 ** This file is part of the Qt Commercial Charts Add-on.
8 8 **
9 9 ** $QT_BEGIN_LICENSE$
10 10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 11 ** accordance with the Qt Commercial License Agreement provided with the
12 12 ** Software or, alternatively, in accordance with the terms contained in
13 13 ** a written agreement between you and Digia.
14 14 **
15 15 ** If you have questions regarding the use of this file, please use
16 16 ** contact form at http://qt.digia.com
17 17 ** $QT_END_LICENSE$
18 18 **
19 19 ****************************************************************************/
20 20
21 21 import QtQuick 1.1
22 22 import QtCommercial.Chart 1.1
23 23
24 24 Rectangle {
25 25 width: 360
26 26 height: 360
27 27 property int currentIndex: -1
28 28
29 29 //![1]
30 30 ChartView {
31 31 id: chartView
32 32 title: "Driver Speeds, lap 1"
33 33 anchors.fill: parent
34 34 legend.alignment: Qt.AlignTop
35 35 animationOptions: ChartView.SeriesAnimations
36 36 }
37 37 //![1]
38 38
39 39 //![2]
40 40 // An example XmlListModel containing F1 legend drivers' speeds at speed traps
41 41 SpeedsXml {
42 42 id: speedsXml
43 43 onStatusChanged: {
44 44 if (status == XmlListModel.Ready) {
45 45 timer.start();
46 46 }
47 47 }
48 48 }
49 49 //![2]
50 50
51 51 //![3]
52 52 // A timer to mimic refreshing the data dynamically
53 53 Timer {
54 54 id: timer
55 55 interval: 700
56 56 repeat: true
57 57 triggeredOnStart: true
58 58 running: false
59 59 onTriggered: {
60 60 currentIndex++;
61 61 if (currentIndex < speedsXml.count) {
62 62 // Check if there is a series for the data already (we are using driver name to identify series)
63 63 var lineSeries = chartView.series(speedsXml.get(currentIndex).driver);
64 64 if (!lineSeries) {
65 65 lineSeries = chartView.createSeries(ChartView.SeriesTypeLine, speedsXml.get(currentIndex).driver);
66 66 chartView.axisY().min = 0;
67 chartView.axisY().max = 250
67 chartView.axisY().max = 250;
68 chartView.axisY().tickCount = 6;
69 chartView.axisY().title = "speed (kph)";
70 chartView.axisX().title = "speed trap";
71 chartView.axisX().labelFormat = "%.0f";
68 72 }
69 lineSeries.append(currentIndex, speedsXml.get(currentIndex).speed);
73 lineSeries.append(speedsXml.get(currentIndex).speedTrap, speedsXml.get(currentIndex).speed);
70 74
71 // Make the x-axis range dynamic
72 if (currentIndex > 9)
73 chartView.axisX().min = currentIndex - 10;
74 else
75 if (speedsXml.get(currentIndex).speedTrap > 3) {
76 chartView.axisX().max = Number(speedsXml.get(currentIndex).speedTrap) + 1;
77 chartView.axisX().min = chartView.axisX().max - 5;
78 } else {
79 chartView.axisX().max = 5;
75 80 chartView.axisX().min = 0;
76
77 chartView.axisX().max = currentIndex + 1;
81 }
82 chartView.axisX().tickCount = chartView.axisX().max - chartView.axisX().min + 1;
78 83 } else {
79 84 // No more data, change x-axis range to show all the data
80 85 timer.stop();
81 86 chartView.animationOptions = ChartView.AllAnimations;
82 87 chartView.axisX().min = 0;
83 chartView.axisX().max = currentIndex + 1;
88 chartView.axisX().max = speedsXml.get(currentIndex - 1).speedTrap;
84 89 }
85 90 }
86 91 }
87 92 //![3]
88 93 }
General Comments 0
You need to be logged in to leave comments. Login now