Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KFloatValidator (./kdelibs/kdeui/knumvalidator.h:98)
class KFloatValidator : public QValidator {
public:
/**
Constuctor.
*/
KFloatValidator ( QWidget * parent, const char * name = 0 );
/**
Constuctor. Also sets the minimum and maximum values.
*/
KFloatValidator ( double bottom, double top, QWidget * parent, const char * name = 0 );
/**
Destructor.
*/
virtual ~KFloatValidator ();
/**
Validate the text, and return the result. Does not modify the paramaters.
*/
virtual State validate ( QString &, int & ) const;
/**
Fix the text if possible, providing a valid string. The parameter may be modified.
*/
virtual void fixup ( QString & ) const;
/**
Set the minimum and maximum value allowed.
*/
virtual void setRange ( double bottom, double top );
/**
Return the current minimum value allowed.
*/
virtual double bottom () const;
/**
Return the current maximum value allowed.
*/
virtual double top () const;
protected:
double _min;
double _max;
};
kdelibs'KFloatValidator::KFloatValidator() (./kdelibs/kdeui/knumvalidator.cpp:145)
KFloatValidator::KFloatValidator ( QWidget * parent, const char * name )
: QValidator(parent, name)
{
_min = _max = 0;
}
kdelibs'KFloatValidator::KFloatValidator() (./kdelibs/kdeui/knumvalidator.cpp:151)
KFloatValidator::KFloatValidator ( double bottom, double top, QWidget * parent, const char * name )
: QValidator(parent, name)
{
_min = bottom;
_max = top;
}
kdelibs'KFloatValidator::~KFloatValidator() (./kdelibs/kdeui/knumvalidator.cpp:158)
KFloatValidator::~KFloatValidator ()
{}
QValidator::State KFloatValidator::validate ( QString &str, int & ) const
{
bool ok;
double val = 0;
QString newStr;
newStr = str.stripWhiteSpace();
if (newStr == QString::fromLatin1("-")) // a special case
if ((_min || _max) && _min >= 0)
ok = false;
else
return QValidator::Acceptable;
else if (newStr == QString::fromLatin1(".")) // another special case
return QValidator::Acceptable;
else if (newStr.length())
val = newStr.toDouble(&ok);
else {
val = 0;
ok = true;
}
if (! ok)
return QValidator::Invalid;
if ((! _min && ! _max) || (val >= _min && val <= _max))
return QValidator::Acceptable;
if (_max && _min >= 0 && val < 0)
return QValidator::Invalid;
return QValidator::Valid;
}
kdelibs'KFloatValidator::fixup() (./kdelibs/kdeui/knumvalidator.cpp:196)
void KFloatValidator::fixup ( QString &str ) const
{
int dummy;
double val;
QValidator::State state;
state = validate(str, dummy);
if (state == QValidator::Invalid || state == QValidator::Acceptable)
return;
if (! _min && ! _max)
return;
val = str.toDouble();
if (val < _min) val = _min;
if (val > _max) val = _max;
str.setNum(val);
}
kdelibs'KFloatValidator::setRange() (./kdelibs/kdeui/knumvalidator.cpp:218)
void KFloatValidator::setRange ( double bottom, double top )
{
_min = bottom;
_max = top;
if (_max < _min)
_max = _min;
}
kdelibs'KFloatValidator::bottom() (./kdelibs/kdeui/knumvalidator.cpp:227)
double KFloatValidator::bottom () const
{
return _min;
}
kdelibs'KFloatValidator::top() (./kdelibs/kdeui/knumvalidator.cpp:232)
double KFloatValidator::top () const
{
return _max;
}