- int keyCode = event.GetKeyCode();
-
- // we don't filter special keys and Delete
- if (
- !(keyCode < WXK_SPACE || keyCode == WXK_DELETE || keyCode > WXK_START) &&
- (
- ((m_validatorStyle == wxFILTER_INCLUDE_CHAR_LIST) && !IsInCharIncludes(wxString((wxChar) keyCode, 1))) ||
- ((m_validatorStyle == wxFILTER_EXCLUDE_CHAR_LIST) && !IsNotInCharExcludes(wxString((wxChar) keyCode, 1))) ||
- ((m_validatorStyle == wxFILTER_ASCII) && !isascii(keyCode)) ||
- ((m_validatorStyle == wxFILTER_ALPHA) && !wxIsalpha(keyCode)) ||
- ((m_validatorStyle == wxFILTER_ALPHANUMERIC) && !wxIsalnum(keyCode)) ||
- ((m_validatorStyle == wxFILTER_NUMERIC) && !wxIsdigit(keyCode)
- && keyCode != wxT('.') && keyCode != wxT(',') && keyCode != wxT('-') && keyCode != wxT('+')
- && keyCode != wxT('e') && keyCode != wxT('E'))
- )
- )
- {
- if ( !wxValidator::IsSilent() )
- wxBell();
-
- // eat message
- return;
- }
- }