7d8ff7d38dcfcce8aea22e89f2a0344a052dd212
[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 #ifndef MAINWINDOW_H
24 #define MAINWINDOW_H
25
26 #include <QtGui/QMainWindow>
27 #include <QWidget>
28
29 class QMenu;
30 class QAction;
31 class QTabWidget;
32 class QLabel;
33
34 /**
35 * @Main Window Class
36 *
37 * @class MainWindow mainwindow.h "src/ui/mainwindow.h"
38 */
39 class MainWindow : public QMainWindow
40 {
41     Q_OBJECT
42
43 public:
44     MainWindow(QWidget *parent = 0);
45     ~MainWindow();
46
47 private:
48     /**
49     * @brief Private method to create List and Map views as a stacked widget
50     *
51     * @fn createViews
52     */
53     void createViews();
54
55     QAction *toMapViewAct;
56     /**
57     * @brief Widget Stack object for the List and Map Views
58     *
59     * @var situareViews
60     */
61     QTabWidget *situareViews;
62
63     /**
64     * @brief DUMMY LABEL, REMOVE WHEN BOTH VIEWS ARE COMPLETE
65     *
66     * @var infoLabel
67     * @todo REMOVE THIS
68     */
69     QLabel *infoLabel;
70
71 };
72
73 /**
74 * @brief List View class. Used for displaying List of friends
75 *
76 * @class SituareListView mainwindow.h "src/ui/mainwindow.h"
77 */
78 class SituareListView : public QWidget
79 {
80 public:
81     SituareListView(QWidget *parent = 0);
82 };
83
84 /**
85 * @brief Map View class. Used to display Map
86 *
87 * @class SituareMapView mainwindow.h "src/ui/mainwindow.h"
88 */
89 class SituareMapView : public QWidget
90 {
91 public:
92     SituareMapView(QWidget *parent = 0);
93 };
94
95 #endif // MAINWINDOW_H