| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        valtext.h
 
- // Purpose:     interface of wxTextValidator
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     Styles used by wxTextValidator.
 
-     Note that when you specify more styles in wxTextValidator the validation checks
 
-     are performed in the order in which the styles of this enumeration are defined.
 
- */
 
- enum wxTextValidatorStyle
 
- {
 
-     /// No filtering takes place.
 
-     wxFILTER_NONE,
 
-     /// Empty strings are filtered out.
 
-     /// If this style is not specified then empty strings are accepted
 
-     /// only if they pass the other checks (if you use more than one wxTextValidatorStyle).
 
-     wxFILTER_EMPTY,
 
-     /// Non-ASCII characters are filtered out. See wxString::IsAscii.
 
-     wxFILTER_ASCII,
 
-     /// Non-alpha characters are filtered out.
 
-     /// Uses the wxWidgets wrapper for the standard CRT function @c isalpha
 
-     /// (which is locale-dependent) on all characters of the string.
 
-     wxFILTER_ALPHA,
 
-     /// Non-alphanumeric characters are filtered out.
 
-     /// Uses the wxWidgets wrapper for the standard CRT function @c isalnum
 
-     /// (which is locale-dependent) on all characters of the string.
 
-     wxFILTER_ALPHANUMERIC,
 
-     /// Non-numeric characters are filtered out.
 
-     /// Uses the wxWidgets wrapper for the standard CRT function @c isdigit
 
-     /// (which is locale-dependent) on all characters of the string.
 
-     wxFILTER_DIGITS,
 
-     /// Non-numeric characters are filtered out.
 
-     /// Works like @c wxFILTER_DIGITS but allows also decimal points,
 
-     /// minus/plus signs and the 'e' or 'E' character to input exponents.
 
-     /// Note that this is not the same behaviour of wxString::IsNumber().
 
-     wxFILTER_NUMERIC,
 
-     /// Use an include list. The validator checks if the user input is on
 
-     /// the list, complaining if not. See wxTextValidator::SetIncludes().
 
-     wxFILTER_INCLUDE_LIST,
 
-     /// Use an include list. The validator checks if each input character is
 
-     /// in the list (one character per list element), complaining if not.
 
-     /// See wxTextValidator::SetCharIncludes().
 
-     wxFILTER_INCLUDE_CHAR_LIST,
 
-     /// Use an exclude list. The validator checks if the user input is on
 
-     /// the list, complaining if it is. See wxTextValidator::SetExcludes().
 
-     wxFILTER_EXCLUDE_LIST,
 
-     /// Use an exclude list. The validator checks if each input character is
 
-     /// in the list (one character per list element), complaining if it is.
 
-     /// See wxTextValidator::SetCharExcludes().
 
-     wxFILTER_EXCLUDE_CHAR_LIST
 
- };
 
- /**
 
-     @class wxTextValidator
 
-     wxTextValidator validates text controls, providing a variety of filtering
 
-     behaviours.
 
-     For more information, please see @ref overview_validator.
 
-     @library{wxcore}
 
-     @category{validator}
 
-     @see @ref overview_validator, wxValidator, wxGenericValidator,
 
-         wxIntegerValidator, wxFloatingPointValidator
 
- */
 
- class wxTextValidator : public wxValidator
 
- {
 
- public:
 
-     /**
 
-         Default constructor.
 
-     */
 
-     wxTextValidator(const wxTextValidator& validator);
 
-     /**
 
-         Constructor taking a style and optional pointer to a wxString variable.
 
-         @param style
 
-             One or more of the ::wxTextValidatorStyle styles. See SetStyle().
 
-         @param valPtr
 
-             A pointer to a wxString variable that contains the value. This
 
-             variable should have a lifetime equal to or longer than the
 
-             validator lifetime (which is usually determined by the lifetime of
 
-             the window).
 
-     */
 
-     wxTextValidator(long style = wxFILTER_NONE, wxString* valPtr = NULL);
 
-     /**
 
-         Clones the text validator using the copy constructor.
 
-     */
 
-     virtual wxObject* Clone() const;
 
-     /**
 
-         Returns a reference to the exclude list (the list of invalid values).
 
-     */
 
-     wxArrayString& GetExcludes();
 
-     /**
 
-         Returns a reference to the include list (the list of valid values).
 
-     */
 
-     wxArrayString& GetIncludes();
 
-     /**
 
-         Returns the validator style.
 
-         @see HasFlag()
 
-     */
 
-     long GetStyle() const;
 
-     /**
 
-         Returns @true if the given @a style bit is set in the current style.
 
-     */
 
-     bool HasFlag(wxTextValidatorStyle style) const;
 
-     /**
 
-         Receives character input from the window and filters it according to
 
-         the current validator style.
 
-     */
 
-     void OnChar(wxKeyEvent& event);
 
-     /**
 
-         Sets the exclude list (invalid values for the user input).
 
-     */
 
-     void SetExcludes(const wxArrayString& stringList);
 
-     /**
 
-         Breaks the given @a chars strings in single characters and sets the
 
-         internal wxArrayString used to store the "excluded" characters
 
-         (see SetExcludes()).
 
-         This function is mostly useful when @c wxFILTER_EXCLUDE_CHAR_LIST was used.
 
-     */
 
-     void SetCharExcludes(const wxString& chars);
 
-     /**
 
-         Sets the include list (valid values for the user input).
 
-     */
 
-     void SetIncludes(const wxArrayString& stringList);
 
-     /**
 
-         Breaks the given @a chars strings in single characters and sets the
 
-         internal wxArrayString used to store the "included" characters
 
-         (see SetIncludes()).
 
-         This function is mostly useful when @c wxFILTER_INCLUDE_CHAR_LIST was used.
 
-     */
 
-     void SetCharIncludes(const wxString& chars);
 
-     /**
 
-         Sets the validator style which must be a combination of one or more
 
-         of the ::wxTextValidatorStyle values.
 
-         Note that not all possible combinations make sense!
 
-         Also note that the order in which the checks are performed is important,
 
-         in case you specify more than a single style.
 
-         wxTextValidator will perform the checks in the same definition order
 
-         used in the ::wxTextValidatorStyle enumeration.
 
-     */
 
-     void SetStyle(long style);
 
-     /**
 
-         Transfers the value in the text control to the string.
 
-     */
 
-     virtual bool TransferFromWindow();
 
-     /**
 
-         Transfers the string value to the text control.
 
-     */
 
-     virtual bool TransferToWindow();
 
-     /**
 
-         Validates the window contents against the include or exclude lists,
 
-         depending on the validator style.
 
-     */
 
-     virtual bool Validate(wxWindow* parent);
 
- protected:
 
-     /**
 
-         Returns @true if all the characters of the given @a val string
 
-         are present in the include list (set by SetIncludes() or SetCharIncludes()).
 
-     */
 
-     bool ContainsOnlyIncludedCharacters(const wxString& val) const;
 
-     /**
 
-         Returns true if at least one character of the given @a val string
 
-         is present in the exclude list (set by SetExcludes() or SetCharExcludes()).
 
-     */
 
-     bool ContainsExcludedCharacters(const wxString& val) const;
 
-     /**
 
-         Returns the error message if the contents of @a val are invalid
 
-         or the empty string if @a val is valid.
 
-     */
 
-     virtual wxString IsValid(const wxString& val) const;
 
- };
 
 
  |