#include <QtGui>
-#include <settings.hpp>
-#include <regions.hpp>
+#include "traffic.hpp"
+#include "settings.hpp"
+#include "regions.hpp"
+#include "light.hpp"
-class MainWidget : public QLabel
+class MainWidget : public QWidget
{
Q_OBJECT
private:
- RegionsTable _regions;
- Settings _settings;
+ Traffic* _traffic;
+ RegionsTable* _regions;
+ Settings* _settings;
-public:
- MainWidget ()
- : QLabel ()
- {
- const RegionInfo *ri;
+ // Widgets
+ TrafficLight* _light;
+ QLabel* _label;
- setAlignment(Qt::AlignCenter);
- setAttribute(Qt::WA_TranslucentBackground);
+public:
+ MainWidget ();
+ virtual ~MainWidget ();
- ri = _regions.lookup (_settings.regions ()[0]);
+public slots:
+ void settingsDialog ();
- setText (_settings.regions ().join (", ") + ", " + QString (ri ? ri->name () : ""));
- }
+protected:
+ void paintEvent (QPaintEvent *event);
+ void timerEvent (QTimerEvent *event);
- QSize sizeHint() const
- {
- return 2 * QLabel::sizeHint();
- }
+ void updateData ();
-protected:
- void paintEvent(QPaintEvent *event)
- {
- QPainter p(this);
- p.setBrush(QColor(0, 0, 0, 128));
- p.setPen(Qt::NoPen);
- p.drawRoundedRect(rect(), 25, 25);
- p.end();
-
- QLabel::paintEvent(event);
- }
+protected slots:
+ void trafficUpdated ();
};
#endif /* __MAINWIDGET_H__ */