Check for device state on update.
[yandex-traffic] / mainwidget.hpp
index 5298de5..00df461 100644 (file)
@@ -3,21 +3,44 @@
 
 #include <QtGui>
 
-class MainWidget : public QLabel
+#include "traffic.hpp"
+#include "settings.hpp"
+#include "regions.hpp"
+#include "light.hpp"
+
+
+class MainWidget : public QWidget
 {
     Q_OBJECT
+private:
+    Traffic* _traffic;
+    RegionsTable* _regions;
+    Settings* _settings;
+
+    // Widgets
+    TrafficLight* _light;
+    QLabel* _label;
+
+    // Other stuff
+    QTimer *_timer;
+
 public:
-    MainWidget ()
-        : QLabel (tr ("Hello, World"))
-    {
-        setAlignment(Qt::AlignCenter);
-        setAttribute(Qt::WA_TranslucentBackground);
-    }
-
-    QSize sizeHint() const
-    {
-        return 2 * QLabel::sizeHint();
-    }
+    MainWidget ();
+    virtual ~MainWidget ();
+
+public slots:
+    void settingsDialog ();
+    void updateData ();
+
+protected:
+    void paintEvent (QPaintEvent *event);
+    void mousePressEvent (QMouseEvent *event);
+
+    void updateSize ();
+    void applySettings ();
+
+protected slots:
+    void trafficUpdated ();
 };
 
 #endif /* __MAINWIDGET_H__ */