494599ab5a61c76b0241bb0b533af9a3fec0a9ed
[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 "themescreen.h"
23
24 class QString;
25 class QGraphicsTextItem;
26 class QGraphicsLineItem;
27 class QGraphicsPixmapItem;
28
29 class DetailScreen : public ThemeScreen
30 {
31     Q_OBJECT
32
33 public:
34     DetailScreen(QWidget* parent = 0);
35     virtual void setColor(QString const& color);
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     int getStrength();
51     QGraphicsTextItem* tripLabel_;
52     QGraphicsTextItem* trip_;
53     QGraphicsTextItem* tripUnit_;
54     QGraphicsTextItem* totalLabel_;
55     QGraphicsTextItem* total_;
56     QGraphicsTextItem* totalUnit_;
57     QGraphicsTextItem* speedLabel_;
58     QGraphicsTextItem* speed_;
59     QGraphicsTextItem* speedUnit_;
60     QGraphicsTextItem* avgSpeedLabel_;
61     QGraphicsTextItem* avgSpeed_;
62     QGraphicsTextItem* avgSpeedUnit_;
63     QGraphicsTextItem* maxSpeedLabel_;
64     QGraphicsTextItem* maxSpeed_;
65     QGraphicsTextItem* maxSpeedUnit_;
66     QGraphicsTextItem* tripTimeLabel_;
67     QGraphicsTextItem* tripTime_;
68     QGraphicsTextItem* totalTimeLabel_;
69     QGraphicsTextItem* totalTime_;
70     QGraphicsLineItem* line1_;
71     QGraphicsLineItem* line2_;
72     QGraphicsPixmapItem* strength_;
73     int currentStrength_;
74 };
75
76 #endif