Frapper  1.0a
GrabberWidget.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 GRABBERWIDGET_H
35 #define GRABBERWIDGET_H
36 
37 #include "FrapperPrerequisites.h"
38 #include <QtGui/QWidget>
39 
40 
41 namespace Frapper {
42 
46 class FRAPPER_GUI_EXPORT GrabberWidget : public QWidget
47 {
48 
49 public: // nested enumerations
50 
56  enum Position {
57  P_BeforeFrame = -1,
59  P_AfterFrame
60  };
61 
62 public: // static data
63 
67  static const int Width = 5;
68 
69 public: // constructors and destructors
70 
80  GrabberWidget ( const QSize &frameRectangleSize, Position position, const QColor &baseColor, QWidget *parent = 0, Qt::WindowFlags flags = 0 );
81 
89  virtual ~GrabberWidget ();
90 
91 public: // functions
92 
98  int getFrameIndex () const;
99 
105  void setFrameIndex ( int index );
106 
113  void setFrameWidth ( int frameWidth );
114 
120  void setStartFrameIndex ( int index );
121 
122 protected: // event handlers
123 
129  virtual void paintEvent ( QPaintEvent *event );
130 
131 private: // functions
132 
137  void updatePosition ();
138 
139 private: // data
140 
145 
152 
158 
162  QColor m_baseColor;
163 
170 
171 };
172 
173 } // end namespace Frapper
174 
175 #endif