4c30e75e486e1eab138a4525bf42339fec72d334
[jspeed] / src / detailscreen.h
1 /*
2  * This file is part of jSpeed.
3  *
4  * jSpeed is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * jSpeed is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with jSpeed.  If not, see <http://www.gnu.org/licenses/>.
16  *
17  */
18
19 #ifndef DETAILSCREEN_H
20 #define DETAILSCREEN_H
21
22 #include "location.h"
23 #include "graphicsscreen.h"
24
25 class QGraphicsTextItem;
26 class QGraphicsLineItem;
27 class QGraphicsView;
28 class GraphicsScene;
29
30 class DetailScreen : public GraphicsScreen
31 {
32     Q_OBJECT
33
34 public:
35     DetailScreen(QWidget* parent = 0);
36
37 public slots:
38     virtual void update();
39     void reArrange();
40
41 private slots:
42     void updateTime();
43     void updateUnits();
44
45 private:
46     QString formatTime(qulonglong time);
47     QGraphicsTextItem* createItem(QString const& text);
48     QGraphicsLineItem* createLine();
49     QString roundDouble(double number);
50     QGraphicsTextItem* tripLabel_;
51     QGraphicsTextItem* trip_;
52     QGraphicsTextItem* tripUnit_;
53     QGraphicsTextItem* totalLabel_;
54     QGraphicsTextItem* total_;
55     QGraphicsTextItem* totalUnit_;
56     QGraphicsTextItem* speedLabel_;
57     QGraphicsTextItem* speed_;
58     QGraphicsTextItem* speedUnit_;
59     QGraphicsTextItem* avgSpeedLabel_;
60     QGraphicsTextItem* avgSpeed_;
61     QGraphicsTextItem* avgSpeedUnit_;
62     QGraphicsTextItem* maxSpeedLabel_;
63     QGraphicsTextItem* maxSpeed_;
64     QGraphicsTextItem* maxSpeedUnit_;
65     QGraphicsTextItem* tripTimeLabel_;
66     QGraphicsTextItem* tripTime_;
67     QGraphicsTextItem* totalTimeLabel_;
68     QGraphicsTextItem* totalTime_;
69     QGraphicsLineItem* line1_;
70     QGraphicsLineItem* line2_;
71 };
72
73 #endif