e84873c96ab76f50fd1193ce75160390dfd6ad17
[situare] / src / ui / mainwindow.h
1 /*
2     Situare - A location system for Facebook
3     Copyright (C) 2010  Ixonos Plc. Authors:
4
5        Henri Lampela - henri.lampela@ixonos.com
6        Kaj Wallin - kaj.wallin@ixonos.com
7
8     Situare is free software; you can redistribute it and/or
9     modify it under the terms of the GNU General Public License
10     version 2 as published by the Free Software Foundation.
11
12     Situare is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16
17     You should have received a copy of the GNU General Public License
18     along with Situare; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
20     USA.
21  */
22
23
24 #ifndef MAINWINDOW_H
25 #define MAINWINDOW_H
26
27 #include <QtGui/QMainWindow>
28 #include <QWidget>
29
30 class QMenu;
31 class QAction;
32 class QTabBar;
33 class QLabel;
34 class QStackedWidget;
35
36 /**
37 * @Main Window Class
38 *
39 * @class MainWindow mainwindow.h "src/ui/mainwindow.h"
40 */
41 class MainWindow : public QMainWindow
42 {
43     Q_OBJECT
44
45 public:
46     MainWindow(QWidget *parent = 0);
47     ~MainWindow();
48
49     /**
50     * @brief Private method to create List and Map views as a stacked widget
51     *
52     * @fn createViews
53     */
54     void createViews();
55
56     QAction *toMapViewAct;
57     /**
58     * @brief Widget Stack object for the List and Map Views
59     *
60     * @var situareViews
61     */
62     QStackedWidget *situareViews;
63
64     QTabBar *situareTabs;
65     QLabel *tabFieldLabel;
66
67     /**
68     * @brief DUMMY LABEL, REMOVE WHEN BOTH VIEWS ARE COMPLETE
69     *
70     * @var infoLabel
71     * @todo REMOVE THIS
72     */
73     QLabel *infoLabel;
74
75 public slots:
76     void updateTabLabel();
77 };
78
79 #endif // MAINWINDOW_H