00001 #ifndef IGUANA_GL_BROWSERS_IG_QT_RANGE_MCONTROL_FLOAT_H
00002 # define IGUANA_GL_BROWSERS_IG_QT_RANGE_MCONTROL_FLOAT_H
00003
00004
00005
00006 # include "Iguana/GLBrowsers/interface/IgQtRangeMValueFloat.h"
00007 # include "Iguana/GLBrowsers/interface/IgQtRangeMControl.h"
00008
00009
00010
00011
00012
00013
00014
00015
00016 class IGUANA_GL_BROWSERS_API IgQtRangeMControlFloat : public IgQtRangeMControl,
00017 public IgQtRangeMValueFloat
00018 {
00019 Q_OBJECT
00020 public:
00021 typedef IgQtRangeMValueFloat inherited;
00022
00023 IgQtRangeMControlFloat (QWidget *parent, int parts,
00024 float value = 0.,
00025 const char *name = 0);
00026
00027 IgQtRangeMControlFloat (QWidget *parent, int parts,
00028 unsigned int size,
00029 const float* values,
00030 const char *name = 0);
00031
00032 IgQtRangeMControlFloat (QWidget *parent, int parts,
00033 const rangeMValues& values,
00034 const char *name = 0);
00035
00036
00037
00038
00039
00040 virtual void setPrecision (float precision);
00041
00042 float stringToNumber (const QString& val) const
00043 { return val.toFloat(); }
00044
00045 using IgQtRangeMControl::setDirty;
00046 void setDirty (bool dirty);
00047
00048 void resize (unsigned int size, float appendedValues = 0);
00049
00050 float getSmallStep (void) const;
00051 float getLongStep (void) const;
00052
00053 void setSmallStep (float size);
00054 void setLongStep (float size);
00055
00056 void setRange (float min, float max);
00057
00058 virtual void setValue (float newval);
00059 virtual void setValue (unsigned int index, float newval);
00060 virtual void setValue (unsigned int size, const float* newvals);
00061 virtual void setValue (const rangeMValues& newvals);
00062
00063 void revMin (void);
00064 void revLong (void);
00065 void revSmall (void);
00066 void fwdSmall (void);
00067 void fwdLong (void);
00068 void fwdMax (void);
00069
00070 void editSettings (void);
00071
00072 QString getSettingString (void) const;
00073 void setSettingString (QString &setting);
00074
00075 signals:
00076 void valueChanged (std::vector<float> delta);
00077 void newValue (std::vector<float> newval);
00078
00079 protected:
00080 virtual void emitSignals (void);
00081 virtual void initialize (int parts);
00082 virtual void adjustSliderSteps (void);
00083 virtual void moveValue (float delta, MoveDirection dir);
00084 virtual void fwdEnable (bool enable);
00085 virtual void revEnable (bool enable);
00086
00087 void sliderChanged (int newval);
00088 void textChanged (const QString &value);
00089 void updateTextValue (void);
00090
00091 float m_longStep;
00092 float m_smallStep;
00093 };
00094
00095
00096
00097
00098 #endif // IGUANA_GL_BROWSERS_IG_QT_RANGE_MCONTROL_FLOAT_H