SVN checkout 11/12/2010
[monav:monav.git] / client / overlaywidget.h
1 /*
2 Copyright 2010  Christian Vetter veaac.fdirct@gmail.com
3
4 This file is part of MoNav.
5
6 MoNav is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 MoNav 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 MoNav.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef OVERLAYWIDGET_H
21 #define OVERLAYWIDGET_H
22
23 #include "scrollarea.h"
24 #include <QWidget>
25 #include <QGridLayout>
26 #include <QToolBar>
27
28 class OverlayWidget : public QWidget
29 {
30
31         Q_OBJECT
32
33 public:
34
35         explicit OverlayWidget( QWidget *parent = 0, QString title = "" );
36         void addAction( QAction *action );
37         void addActions( QList< QAction* > actions );
38         QList< QAction* > actions() const;
39
40 signals:
41
42 public slots:
43
44
45 protected:
46
47         virtual void mousePressEvent( QMouseEvent* event );
48         virtual void mouseReleaseEvent( QMouseEvent* event );
49         bool eventFilter( QObject *obj, QEvent* ev );
50         virtual void hideEvent( QHideEvent* event );
51         virtual void showEvent( QShowEvent* event );
52         void setOrientation();
53
54         QToolBar* m_centralWidget;
55         ScrollArea* m_scrollArea;
56         QGridLayout* m_grid;
57         bool m_mouseDown;
58 };
59
60 #endif // OVERLAYWIDGET_H