/usr/include/Wt/WDoubleValidator is in libwt-dev 3.3.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WDOUBLEVALIDATOR_H_
#define WDOUBLEVALIDATOR_H_
#include <limits>
#include <Wt/WValidator>
namespace Wt {
/*! \class WDoubleValidator Wt/WDoubleValidator Wt/WDoubleValidator
* \brief A validator for validating floating point user input.
*
* This validator checks whether user input is a double in the pre-defined
* range.
*
* \if cpp
* Usage example:
* \code
* Wt::WLineEdit *lineEdit = new Wt::WLineEdit(this);
* Wt::WDoubleValidator *validator = new Wt::WDoubleValidator();
* lineEdit->setValidator(validator);
* lineEdit->setText("13.42");
* \endcode
* \endif
*
* <h3>i18n</h3>
*
* The strings used in this class can be translated by overriding
* the default values for the following localization keys:
* Wt.WDoubleValidator.NotANumber: Must be a number
* Wt.WDoubleValidator.TooSmall: The number must be larger than {1}
* Wt.WDoubleValidator.BadRange: The number must be in the range {1} to {2}
* Wt.WDoubleValidator.TooLarge: The number must be smaller than {1}
*/
class WT_API WDoubleValidator : public WValidator
{
public:
/*! \brief Creates a new double validator that accepts any double.
*
* The validator will accept numbers using the current locale's format.
*
* \sa WLocale::currentLocale()
*/
WDoubleValidator(WObject *parent = 0);
/*! \brief Creates a new double validator that accepts double
* within the given range.
*
* The validator will accept numbers using the current locale's format.
*
* \sa WLocale::currentLocale()
*/
WDoubleValidator(double minimum, double maximum, WObject *parent = 0);
/*! \brief Returns the bottom of the valid double range.
*/
double bottom() const { return bottom_; }
/*! \brief Sets the bottom of the valid double range.
*
* The default value is the minimum double value.
*/
void setBottom(double bottom);
/*! \brief Returns the top of the valid double range.
*/
double top() const { return top_; }
/*! \brief Sets the top of the valid double range.
*
* The default value is the maximum double value.
*/
void setTop(double top);
/*! \brief Sets the range of valid doubles.
*/
virtual void setRange(double bottom, double top);
/*! \brief Validates the given input.
*
* The input is considered valid only when it is blank for a non-mandatory
* field, or represents a double within the valid range.
*/
virtual Result validate(const WT_USTRING& input) const;
virtual void createExtConfig(std::ostream& config) const;
/*! \brief Sets the message to display when the input is not a number.
*
* The default value is "Must be a number."
*/
void setInvalidNotANumberText(const WString& text);
/*! \brief Returns the message displayed when the input is not a number.
*
* \sa setInvalidNotANumberText(const WString&)
*/
WString invalidNotANumberText() const;
/*! \brief Sets the message to display when the number is too small
*
* Depending on whether bottom() and top() are real bounds, the
* default message is "The number must be between {1} and {2}" or
* "The number must be larger than {1}".
*/
void setInvalidTooSmallText(const WString& text);
/*! \brief Returns the message displayed when the number is too small.
*
* \sa setInvalidTooSmallText(const WString&)
*/
WString invalidTooSmallText() const;
/*! \brief Sets the message to display when the number is too large
*
* Depending on whether bottom() and top() are real bounds, the
* default message is "The number must be between {1} and {2}" or
* "The number must be smaller than {2}".
*/
void setInvalidTooLargeText(const WString& text);
/*! \brief Returns the message displayed when the number is too large.
*
* \sa setInvalidTooLargeText(const WString&)
*/
WString invalidTooLargeText() const;
virtual std::string javaScriptValidate() const;
private:
double bottom_;
double top_;
WString tooSmallText_;
WString tooLargeText_;
WString nanText_;
static void loadJavaScript(WApplication *app);
};
}
#endif // WDOUBLEVALIDATOR_H_
|