3 #include "speedgraph.h"
6 SpeedGraph::SpeedGraph(QWidget
*parent
) : GraphTab(parent
)
13 setYLabel(tr("Speed"));
15 setSliderPrecision(1);
18 void SpeedGraph::setInfo()
21 GraphView::addInfo(tr("Average"), QString::number(avg() * yScale(), 'f',
22 1) + UNIT_SPACE
+ yUnits());
23 GraphView::addInfo(tr("Maximum"), QString::number(max() * yScale(), 'f',
24 1) + UNIT_SPACE
+ yUnits());
29 void SpeedGraph::loadData(const Data
&data
, const QList
<PathItem
*> &paths
)
31 for (int i
= 0; i
< data
.tracks().count(); i
++) {
32 const Graph
&graph
= data
.tracks().at(i
)->speed();
33 if (graph
.size() < 2) {
38 _avg
.append(QPointF(data
.tracks().at(i
)->distance(),
39 data
.tracks().at(i
)->distance() / data
.tracks().at(i
)->time()));
40 _avgM
.append(QPointF(data
.tracks().at(i
)->distance(),
41 data
.tracks().at(i
)->distance() / data
.tracks().at(i
)->movingTime()));
43 GraphView::loadGraph(graph
, paths
.at(i
));
46 for (int i
= 0; i
< data
.routes().count(); i
++)
54 qreal
SpeedGraph::avg() const
57 QList
<QPointF
>::const_iterator it
;
58 const QList
<QPointF
> &list
= (_timeType
== Moving
) ? _avgM
: _avg
;
60 for (it
= list
.begin(); it
!= list
.end(); it
++) {
61 sum
+= it
->y() * it
->x();
68 void SpeedGraph::clear()
76 void SpeedGraph::setYUnits()
78 if (_units
== Metric
) {
79 GraphView::setYUnits(tr("km/h"));
82 GraphView::setYUnits(tr("mi/h"));
87 void SpeedGraph::setUnits(enum Units units
)
93 GraphView::setUnits(units
);
98 void SpeedGraph::setTimeType(enum TimeType type
)
106 void SpeedGraph::showTracks(bool show
)