Frapper  1.0a
Key.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 
35 
36 #include "FrapperPrerequisites.h"
37 #include <QtCore/QVariant>
38 
39 #ifndef KEY_H
40 #define KEY_H
41 
42 namespace Frapper {
43 
44 class NumberParameter;
45 
50 {
51 
52 public: // constructors and destructors
53 
61  Key (const float &index, const QVariant &value, NumberParameter *parameter = 0 );
62 
66  Key ();
67 
73  Key (const Key &key);
74 
78  ~Key ();
79 
80 public: // functions
81 
87  float getIndex () const;
88 
94  void setIndex (const float &index );
95 
101  QVariant getValue () const;
102 
108  void setValue ( const QVariant &value );
109 
115  void setParameter ( NumberParameter* parameter );
116 
118 
124  inline Key& operator /= ( const float &fScalar )
125  {
126  register float value;
127  if (value = m_value.toFloat())
128  m_value = value / fScalar;
129  return *this;
130  }
131 
132 private: // data
133 
137  float m_index;
138 
142  QVariant m_value;
143 
148 };
149 
150 } // end namespace Frapper
151 
152 #endif