summaryrefslogtreecommitdiffstats
path: root/konquest/int_validator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'konquest/int_validator.cpp')
-rw-r--r--konquest/int_validator.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/konquest/int_validator.cpp b/konquest/int_validator.cpp
new file mode 100644
index 00000000..12f707c6
--- /dev/null
+++ b/konquest/int_validator.cpp
@@ -0,0 +1,53 @@
+#include <limits.h>
+
+#include "int_validator.h"
+#include "int_validator.moc"
+
+IntValidator::IntValidator( TQWidget *parent, const char *name ) :
+ TQValidator( parent, name )
+{
+#ifdef INT_MIN
+ v_bottom = INT_MIN;
+#else
+ v_bottom = ~INT_MAX;
+#endif
+ v_top = INT_MIN;
+}
+
+IntValidator::IntValidator( int bottom, int top, TQWidget *parent, const char *name ) :
+TQValidator( parent, name )
+{
+ v_bottom = bottom;
+ v_top = top;
+}
+
+IntValidator::~IntValidator() {}
+
+TQValidator::State
+IntValidator::validate( TQString &input, int & ) const
+{
+ if( input.isEmpty() ) {
+ return TQValidator::Valid;
+ } else {
+ bool ok;
+
+ int value = input.toInt( &ok );
+
+ if( !ok )
+ return TQValidator::Invalid;
+
+ if( value < v_bottom || value > v_top )
+ return TQValidator::Valid;
+
+ return TQValidator::Acceptable;
+ }
+}
+
+void
+IntValidator::setRange( int b, int t )
+{
+ v_bottom = b;
+ v_top = t;
+}
+
+