ecaee4f156fa94a8fa59dc0b17f5b9f4b751c09a
[ptas] / zouba / src / ui.h
1 #ifndef UI_H
2 #define UI_H
3
4 #include <QObject>
5
6 class QMainWindow;
7 class QWidget;
8 class QTableWidget;
9 class QButtonGroup;
10 class MessageTable;
11 class QHBoxLayout;
12 class QVBoxLayout;
13 class QMenu;
14 class QAction;
15 class Location;
16
17 class Ui : public QObject
18 {
19   Q_OBJECT
20
21 public:
22   Ui();
23   ~Ui();
24   void setupUi( QMainWindow *mainWindow );
25
26   enum {
27     HomeButtonId=0,
28     WorkButtonId=1
29   };
30
31   enum {
32     ScreenWidth=800,
33     ScreenHeight=480
34   };
35   enum {
36    ButtonWidth=300,
37    ButtonHeight=70
38   };
39
40
41   QWidget *centralWidget;
42   QButtonGroup *destinationButtons;
43   QTableWidget *routeTable;
44   static MessageTable *messageTable;
45   QHBoxLayout *mainLayout;
46   QVBoxLayout *buttonLayout;
47   QMenu       *menu;
48   QAction     *toggleMessagesAction;
49   QAction     *toggleFakeGpsAction;
50   QAction     *useLiveGpsAction;
51   bool        usingFakeGps;
52   bool        messagesShown;
53   Location    *fakeLocation;
54
55 Q_SIGNALS:
56   void homeAddressChanged( QString address );
57   void workAddressChanged( QString address );
58   void fakeGpsPressed( Location * );
59   void liveGpsPressed();
60
61 private Q_SLOTS:
62   void setHomeAddress();
63   void setWorkAddress();
64   void toggleMessages();
65   void toggleFakeGps();
66
67 private:
68   void useFakeGps();
69   void useLiveGps();
70   void hideMessages();
71   void showMessages();
72   void setAddress( const QString &label );
73 };
74 #endif //UI_H