Frapper  1.0a
BaseGraphicsView.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of FRAPPER
4 research.animationsinstitut.de
5 sourceforge.net/projects/frapper
6 
7 Copyright (c) 2008-2009 Filmakademie Baden-Wuerttemberg, Institute of Animation
8 
9 This program is free software; you can redistribute it and/or modify it under
10 the terms of the GNU Lesser General Public License as published by the Free Software
11 Foundation; version 2.1 of the License.
12 
13 This program is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16 
17 You should have received a copy of the GNU Lesser General Public License along with
18 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
21 -----------------------------------------------------------------------------
22 */
23 
33 
34 #ifndef BASEGRAPHICSVIEW_H
35 #define BASEGRAPHICSVIEW_H
36 
37 #include "FrapperPrerequisites.h"
38 #include "NodeGraphicsItem.h"
39 #include <Qt/QGraphicsView.h>
40 #include <QtGui/QKeyEvent>
41 #include <QtGui/QMouseEvent>
42 
43 
44 namespace Frapper {
45 
64 class FRAPPER_GUI_EXPORT BaseGraphicsView : public QGraphicsView
65 {
66 
67  Q_OBJECT
68 
69 public: // constructors and destructors
70 
76  BaseGraphicsView ( QWidget *parent = 0 );
77 
81  virtual ~BaseGraphicsView ();
82 
83 
84 public slots: //
85 
89  void homeView ();
90 
95  void frameAll ();
96 
101  void frameSelected ();
102 
108  void toggleScrollbars ( bool visible );
109 
110 protected: // events
111 
117  virtual void keyPressEvent ( QKeyEvent *event );
118 
124  virtual void keyReleaseEvent ( QKeyEvent *event );
125 
131  virtual void mousePressEvent ( QMouseEvent *event );
132 
138  virtual void mouseMoveEvent ( QMouseEvent *event );
139 
145  virtual void mouseReleaseEvent ( QMouseEvent *event );
146 
152  virtual void wheelEvent ( QWheelEvent *event );
153 
154 protected: // functions
155 
160  void zoomIn ();
161 
166  void zoomOut ();
167 
174  void setScale ( qreal s );
175 
183  void frame ( const QRectF &rect );
184 
185 protected: // data
186 
191 
196 
197 };
198 
199 } // end namespace Frapper
200 
201 #endif