Removed unused PanelSideBar classes and added new PanelTab classes for tabbed panels
[situare] / src / ui / paneltab.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 PANELTAB_H
23 #define PANELTAB_H
24
25 #include <QToolButton>
26
27 class QMouseEvent;
28
29 class PanelTab : public QToolButton
30 {
31     Q_OBJECT
32
33 public:
34     /**
35      * @brief Constructor
36      *
37      * @param parent
38      */
39     PanelTab(QWidget *parent = 0);
40
41 /*******************************************************************************
42  * BASE CLASS INHERITED AND REIMPLEMENTED MEMBER FUNCTIONS
43  ******************************************************************************/
44 protected:
45     /**
46      * @brief Move event for the distance indicator button
47      *
48      * @param event Mouse event
49      */
50     void mouseMoveEvent(QMouseEvent *event);
51
52     /**
53      * @brief Event handler for mouse press events
54      *
55      * @param event Mouse event
56      */
57     void mousePressEvent(QMouseEvent *event);
58
59     /**
60      * @brief Event handler for mouse release events
61      *
62      * @param event Mouse event
63      */
64     void mouseReleaseEvent(QMouseEvent *event);
65
66     /**
67      * @brief Draws the tab button
68      *
69      * @param * QPaintEvent unused
70      */
71     void paintEvent(QPaintEvent *);
72
73 /*******************************************************************************
74  * MEMBER FUNCTIONS AND SLOTS
75  ******************************************************************************/
76 public:
77     void setActive(bool state);
78
79 /*******************************************************************************
80  * DATA MEMBERS
81  ******************************************************************************/
82 private:
83     bool m_tabActive;
84     bool m_tabSelected;
85
86     QPixmap m_tabPixmaps[3];
87
88     QRect m_tabRect;
89 };
90
91 #endif // PANELTAB_H