Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KIntValidator (./kdelibs/kdeui/knumvalidator.h:38)
class KIntValidator : public QValidator {
public:
/**
Constuctor. Also sets the base value.
*/
KIntValidator ( QWidget * parent, int base = 10, const char * name = 0 );
/**
Constuctor. Also sets the minimum, maximum, and numeric base values.
*/
KIntValidator ( int bottom, int top, QWidget * parent, int base = 10, const char * name = 0 );
/**
Destructor.
*/
virtual ~KIntValidator ();
/**
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 values allowed.
*/
virtual void setRange ( int bottom, int top );
/**
Set the numeric base value.
*/
virtual void setBase ( int base );
/**
Return the current minimum value allowed.
*/
virtual int bottom () const;
/**
Return the current maximum value allowed.
*/
virtual int top () const;
/**
Return the current numeric base.
*/
virtual int base () const;
protected:
int _base;
int _min;
int _max;
};
/**
@ref QValidator for floating point entry.
Extends the QValidator class to properly validate double numeric data.
This can be used by @ref QLineEdit or subclass to provide validated
text entry.
@author Glen Parker <glenebob@nwlink.com>
@version 0.0.1
*/
kdelibs'KIntValidator::KIntValidator() (./kdelibs/kdeui/knumvalidator.cpp:31)
KIntValidator::KIntValidator ( QWidget * parent, int base, const char * name )
: QValidator(parent, name)
{
_base = base;
if (_base < 2) _base = 2;
if (_base > 36) _base = 36;
_min = _max = 0;
}
kdelibs'KIntValidator::KIntValidator() (./kdelibs/kdeui/knumvalidator.cpp:41)
KIntValidator::KIntValidator ( int bottom, int top, QWidget * parent, int base, const char * name )
: QValidator(parent, name)
{
_base = base;
if (_base > 36) _base = 36;
_min = bottom;
_max = top;
}
kdelibs'KIntValidator::~KIntValidator() (./kdelibs/kdeui/knumvalidator.cpp:51)
KIntValidator::~KIntValidator ()
{}
QValidator::State KIntValidator::validate ( QString &str, int & ) const
{
bool ok;
int val = 0;
QString newStr;
newStr = str.stripWhiteSpace();
if (_base > 10)
newStr = newStr.upper();
if (newStr == QString::fromLatin1("-")) // a special case
if ((_min || _max) && _min >= 0)
ok = false;
else
return QValidator::Acceptable;
else if (newStr.length())
val = newStr.toInt(&ok, _base);
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'KIntValidator::fixup() (./kdelibs/kdeui/knumvalidator.cpp:88)
void KIntValidator::fixup ( QString &str ) const
{
int dummy;
int val;
QValidator::State state;
state = validate(str, dummy);
if (state == QValidator::Invalid || state == QValidator::Acceptable)
return;
if (! _min && ! _max)
return;
val = str.toInt(0, _base);
if (val < _min) val = _min;
if (val > _max) val = _max;
str.setNum(val, _base);
}
kdelibs'KIntValidator::setRange() (./kdelibs/kdeui/knumvalidator.cpp:110)
void KIntValidator::setRange ( int bottom, int top )
{
_min = bottom;
_max = top;
if (_max < _min)
_max = _min;
}
kdelibs'KIntValidator::setBase() (./kdelibs/kdeui/knumvalidator.cpp:119)
void KIntValidator::setBase ( int base )
{
_base = base;
if (_base < 2) _base = 2;
}
kdelibs'KIntValidator::bottom() (./kdelibs/kdeui/knumvalidator.cpp:125)
int KIntValidator::bottom () const
{
return _min;
}
kdelibs'KIntValidator::top() (./kdelibs/kdeui/knumvalidator.cpp:130)
int KIntValidator::top () const
{
return _max;
}
kdelibs'KIntValidator::base() (./kdelibs/kdeui/knumvalidator.cpp:135)
int KIntValidator::base () const
{
return _base;
}
///////////////////////////////////////////////////////////////
// Implementation of KIntValidator
//