00001 #ifndef IGUANA_GL_BROWSERS_IG_QT_RANGE_SETTING_H
00002 # define IGUANA_GL_BROWSERS_IG_QT_RANGE_SETTING_H
00003
00004
00005
00006 # include "Iguana/GLBrowsers/interface/config.h"
00007 # include <qdialog.h>
00008
00009
00010
00011
00012
00013 class QLineEdit;
00014 class QPushButton;
00015 class QGridLayout;
00016 class QLabel;
00017
00018
00019
00020
00021
00022 class IGUANA_GL_BROWSERS_API IgQtRangeSetting : public QDialog
00023 {
00024 Q_OBJECT
00025 public:
00026
00027 IgQtRangeSetting (QWidget* parent = 0,
00028 const char* name = 0,
00029 bool modal = FALSE,
00030 WFlags fl = 0);
00031
00032 bool isValueChanged (void) const;
00033 bool isRangeChanged (void) const;
00034 bool isStepChanged (void) const;
00035 bool isPrecisionChanged (void) const;
00036 bool isApplied (void) const;
00037
00038 QString getValue (void) const;
00039 QString getMin (void) const;
00040 QString getMax (void) const;
00041 QString getSmall (void) const;
00042 QString getLong (void) const;
00043 QString getPrecision (void) const;
00044
00045 void setValue (const QString&);
00046 void setRange (const QString& min,
00047 const QString& max);
00048 void setMin (const QString&);
00049 void setMax (const QString&);
00050 void setStep (const QString& smallStep,
00051 const QString& longStep);
00052 void setSmall (const QString&);
00053 void setLong (const QString&);
00054 void setPrecision (const QString&);
00055
00056 void clear (void);
00057
00058 public slots:
00059 void valueChanged (const QString&);
00060 void rangeChanged (const QString&);
00061 void stepChanged (const QString&);
00062 void precisionChanged (const QString&);
00063
00064 void enablePrecision (bool enable=true);
00065 void enableValue (bool enable=true);
00066 void enableStep (bool enable=true);
00067 void enableRange (bool enable=true);
00068 virtual void apply ();
00069 virtual void cancel ();
00070
00071 protected:
00072 QGridLayout *m_layout;
00073 QLineEdit *m_value;
00074 QLineEdit *m_min;
00075 QLineEdit *m_max;
00076 QLineEdit *m_small;
00077 QLineEdit *m_long;
00078 QLineEdit *m_precision;
00079 QPushButton *m_cancel;
00080 QPushButton *m_ok;
00081 bool m_valueChanged;
00082 bool m_rangeChanged;
00083 bool m_stepChanged;
00084 bool m_precisionChanged;
00085 bool m_applied;
00086 };
00087
00088
00089
00090
00091 #endif // IGUANA_GL_BROWSERS_IG_QT_RANGE_SETTING_H