AnimaL |
Tutorial |
Documentation |
00001 /* -------------------------------------------------------- */ 00002 #ifndef __WFLOATLINEEDIT__ 00003 #define __WFLOATLINEEDIT__ 00004 /* -------------------------------------------------------- */ 00005 #include <qvalidator.h> 00006 #include <qlineedit.h> 00007 /* -------------------------------------------------------- */ 00008 00009 00010 class WFloatLineEdit : public QLineEdit 00011 { 00012 Q_OBJECT 00013 Q_PROPERTY( float minFloatValue READ minFloatValue WRITE setMinFloatValue ) 00014 Q_PROPERTY( float maxFloatValue READ maxFloatValue WRITE setMaxFloatValue ) 00015 Q_PROPERTY( float floatValue READ floatValue WRITE setFloatValue ) 00016 Q_PROPERTY( int intValue READ intValue WRITE setIntValue ) 00017 00018 protected: 00019 00020 int m_iPercent; 00021 float m_fMinValue; 00022 float m_fMaxValue; 00023 bool m_bFirst; 00024 mutable float m_fValue; 00025 QDoubleValidator *m_DblValid; 00026 double m_bInternal; 00027 00028 void checkValue(); 00029 virtual void keyPressEvent(QKeyEvent *); 00030 public: 00031 00032 WFloatLineEdit(QWidget *parent,const char *name); 00033 00034 float minFloatValue() const {return (m_fMinValue);} 00035 void setMinFloatValue(float f) {m_fMinValue=f; m_DblValid->setBottom(m_fMinValue); } 00036 00037 00038 float maxFloatValue() const {return (m_fMaxValue);} 00039 void setMaxFloatValue(float f) {m_fMaxValue=f; m_DblValid->setTop(m_fMaxValue); } 00040 00041 float floatValue() const {return (m_fValue);} 00042 void setFloatValue(float f); 00043 00044 int intValue() const {return static_cast<int>(m_fValue);} 00045 void setIntValue(int f); 00046 00047 int valuePercent(); 00048 00049 signals: 00050 00051 void floatValueChanged(float); 00052 void valuePercentChanged(int); 00053 00054 protected slots: 00055 00056 void slotCalcFloatValue(const QString&); 00057 void slotCalcFloatValue(float); 00058 void slotReturnPressed(); 00059 00060 public slots: 00061 00062 void setValuePercent(int p); 00063 00064 }; 00065 /* -------------------------------------------------------- */ 00066 #endif 00067 /* -------------------------------------------------------- */ 00068 00069