21 #ifndef QGSLONGLONGVALIDATOR_H
22 #define QGSLONGLONGVALIDATOR_H
34 : QValidator( parent )
35 , b( std::numeric_limits<qint64>::
min() )
36 , t( std::numeric_limits<qint64>::
max() )
40 : QValidator( parent )
48 QValidator::State
validate( QString &input,
int& )
const
50 if ( input.isEmpty() )
53 if ( b >= 0 && input.startsWith(
'-' ) )
56 if ( t < 0 && input.startsWith(
'+' ) )
59 if ( input ==
"-" || input ==
"+" )
64 qlonglong entered = input.toLongLong( &ok );
68 if ( entered >= b && entered <= t )
75 return ( entered > t && -entered < b ) ? Invalid : Intermediate;
79 return ( entered < b ) ? Invalid : Intermediate;
84 void setTop( qint64 top ) { t = top; }
86 virtual void setRange( qint64 bottom, qint64 top )
93 qint64
top()
const {
return t; }
102 #endif // QGSLONGLONGVALIDATOR_H