Reviewed new files
[situare] / src / ui / panelbase.h
1 /*
2     Situare - A location system for Facebook
3     Copyright (C) 2010  Ixonos Plc. Authors:
4
5         Pekka Nissinen - pekka.nissinen@ixonos.com
6
7     Situare is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License
9     version 2 as published by the Free Software Foundation.
10
11     Situare is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with Situare; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
19     USA.
20 */
21
22 #ifndef PANELBASE_H
23 #define PANELBASE_H
24
25 #include <QPaintEvent>
26 #include <QPixmap>
27 #include <QWidget>
28
29 ///< @todo Base class? Might be misleading comment and does not tell about what this class does
30 ///< @todo Why not directly inheriting QStackedWidget?
31 /**
32  * @brief Base class for panel inner content
33  *
34  * @author Pekka Nissinen - pekka.nissinen@ixonos.com
35  */
36 class PanelBase : public QWidget
37 {
38     Q_OBJECT
39
40 public:
41     /**
42      * @brief Constructor
43      *
44      * @param parent Parent
45      */
46     PanelBase(QWidget *parent = 0);
47
48 /*******************************************************************************
49  * BASE CLASS INHERITED AND REIMPLEMENTED MEMBER FUNCTIONS
50  ******************************************************************************/
51 protected:
52     ///< @todo parameter name (also in .cpp)
53     /**
54      * @brief Draws the panel content base
55      *
56      * @param * QPaintEvent unused
57      */
58     void paintEvent(QPaintEvent *);
59
60 /*******************************************************************************
61  * DATA MEMBERS
62  *******************************************************************************/
63 private:
64     QPixmap m_menuDropShadowTile; ///< Pixmap for menu drop shadow
65 };
66
67 #endif // PANELBASE_H