SVN checkout 11/12/2010
[monav:monav.git] / client / scrollarea.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 SCROLLAREA_H
21 #define SCROLLAREA_H
22
23 #include <QScrollArea>
24
25 // resizes the ScrollArea to always fit the contents in one direction and scroll in the other direction
26 // default orientation is Vertical, i.e., no horizontal scrollbar should appear
27 class ScrollArea : public QScrollArea
28 {
29
30         Q_OBJECT
31
32 public:
33
34         explicit ScrollArea( QWidget* parent = 0 );
35         Qt::Orientation orientation();
36
37 signals:
38
39 public slots:
40
41         void setOrientation( Qt::Orientation orientation );
42
43 protected:
44
45         virtual void resizeEvent( QResizeEvent* event );
46         virtual void mousePressEvent( QMouseEvent* event );
47         virtual void mouseMoveEvent( QMouseEvent* event );
48
49         Qt::Orientation m_orientation;
50
51 };
52
53 #endif // SCROLLAREA_H