Frapper  1.0a
DoubleSlider.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 
32 
33 #ifndef DOUBLESLIDER_H
34 #define DOUBLESLIDER_H
35 
36 #include "FrapperPrerequisites.h"
37 #include <QtGui/QSlider>
38 
39 
40 namespace Frapper {
41 
59 class FRAPPER_GUI_EXPORT DoubleSlider : public QSlider
60 {
61  Q_OBJECT
62 
63 public:
64  DoubleSlider(QWidget *parent=0);
65  ~DoubleSlider();
66 
67  void setDoubleMinimum(double min);
68  double doubleMinimum() const;
69 
70  void setDoubleMaximum(double mox);
71  double doubleMaximum() const;
72 
73  //void setRange(double min, double max);
74 
75  void setDoubleSingleStep(double step);
76  double doubleSingleStep() const;
77 
78  double doubleValue();
79 
80 public slots:
81  void setDoubleValue(double value);
82  void emitDoubleValueChanged(int v);
83  void emitDoubleSliderMoved(int v);
84 
85 signals:
86  void doubleValueChanged(double value);
87  void doubleSliderMoved(double position);
88 
89  //void rangeChanged(double min, double max);
90 
91  //void actionTriggered(double action);
92 
93 protected: // methods
94 
95  double convertToDouble(int value);
96  int convertToInt(double value);
97  int round(double value);
98 
99 protected: // variables
100 
101  double m_value;
102  double m_max;
103  double m_min;
104  double m_step;
105 
106 };
107 
108 } // end namespace Frapper
109 
110 #endif