Added a method for retrieving a panel context button list
[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 <QWidget>
26
27 class ImageButton;
28
29 /**
30  * @brief Base class for panels
31  *
32  * @author Pekka Nissinen - pekka.nissinen@ixonos.com
33  */
34 class PanelBase : public QWidget
35 {
36     Q_OBJECT
37
38 public:
39     /**
40      * @brief Constructor
41      *
42      * @param parent Parent
43      */
44     PanelBase(QWidget *parent = 0);
45
46 /*******************************************************************************
47  * MEMBER FUNCTIONS AND SLOTS
48  ******************************************************************************/
49 public:
50     /**
51      * @brief Get list of context buttons
52      *
53      * @returns Reference to list of context buttons
54      */
55     const QList<ImageButton *>& contextButtons() const;
56
57 /*******************************************************************************
58  * SIGNALS
59  ******************************************************************************/
60 signals:
61     /**
62      * @brief Signal for requesting a panel to be opened
63      *
64      * @param widget Pointer to the widget that emitted the signal
65      */
66     void showPanelRequested(QWidget *widget);
67
68 /*******************************************************************************
69  * DATA MEMBERS
70  ******************************************************************************/
71 protected:
72     QList<ImageButton *> m_contextButtonList; ///< List of context buttons
73 };
74 #endif // PANELBASE_H