2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: valtext.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxTextValidator
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxTextValidator
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
wxTextValidator validates text controls, providing a variety of filtering
|
|
|
|
behaviours.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-04-22 02:01:48 -04:00
|
|
|
For more information, please see @ref overview_validator.
|
|
|
|
|
|
|
|
@beginStyleTable
|
|
|
|
@style{wxFILTER_NONE}
|
|
|
|
No filtering takes place.
|
|
|
|
@style{wxFILTER_ASCII}
|
|
|
|
Non-ASCII characters are filtered out.
|
|
|
|
@style{wxFILTER_ALPHA}
|
|
|
|
Non-alpha characters are filtered out.
|
|
|
|
@style{wxFILTER_ALPHANUMERIC}
|
|
|
|
Non-alphanumeric characters are filtered out.
|
|
|
|
@style{wxFILTER_NUMERIC}
|
|
|
|
Non-numeric characters are filtered out.
|
|
|
|
@style{wxFILTER_INCLUDE_LIST}
|
|
|
|
Use an include list. The validator checks if the user input is on
|
|
|
|
the list, complaining if not. See SetIncludes().
|
|
|
|
@style{wxFILTER_EXCLUDE_LIST}
|
|
|
|
Use an exclude list. The validator checks if the user input is on
|
|
|
|
the list, complaining if it is. See SetExcludes().
|
|
|
|
@style{wxFILTER_INCLUDE_CHAR_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 SetIncludes().
|
|
|
|
@style{wxFILTER_EXCLUDE_CHAR_LIST}
|
|
|
|
Use an include list. The validator checks if each input character is
|
|
|
|
in the list (one character per list element), complaining if it is.
|
|
|
|
See SetExcludes().
|
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
|
|
|
@category{validator}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-04-22 02:01:48 -04:00
|
|
|
@see @ref overview_validator, wxValidator, wxGenericValidator
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
class wxTextValidator : public wxValidator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
2008-04-22 02:01:48 -04:00
|
|
|
Default constructor.
|
|
|
|
*/
|
|
|
|
wxTextValidator(const wxTextValidator& validator);
|
|
|
|
/**
|
|
|
|
Constructor taking a style and optional pointer to a wxString variable.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-04-22 02:01:48 -04:00
|
|
|
A bitlist of flags documented in the class description.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param valPtr
|
2008-04-22 02:01:48 -04:00
|
|
|
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).
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-04-22 02:01:48 -04:00
|
|
|
wxTextValidator(long style = wxFILTER_NONE, wxString* valPtr = NULL);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Clones the text validator using the copy constructor.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
virtual wxValidator* Clone() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a reference to the exclude list (the list of invalid values).
|
|
|
|
*/
|
2008-04-22 02:01:48 -04:00
|
|
|
wxArrayString& GetExcludes() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a reference to the include list (the list of valid values).
|
|
|
|
*/
|
2008-04-22 02:01:48 -04:00
|
|
|
wxArrayString& GetIncludes() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the validator style.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
long GetStyle() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2008-04-22 02:01:48 -04:00
|
|
|
Receives character input from the window and filters it according to
|
|
|
|
the current validator style.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
void OnChar(wxKeyEvent& event);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the exclude list (invalid values for the user input).
|
|
|
|
*/
|
|
|
|
void SetExcludes(const wxArrayString& stringList);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the include list (valid values for the user input).
|
|
|
|
*/
|
|
|
|
void SetIncludes(const wxArrayString& stringList);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the validator style.
|
|
|
|
*/
|
|
|
|
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();
|
|
|
|
|
|
|
|
/**
|
2008-04-22 02:01:48 -04:00
|
|
|
Validates the window contents against the include or exclude lists,
|
|
|
|
depending on the validator style.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
virtual bool Validate(wxWindow* parent);
|
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|