]> git.saurik.com Git - wxWidgets.git/commitdiff
give better names to wxTextValidator::IsInCharIncludes and to wxTextValidator::IsNotI...
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 31 Jan 2009 21:27:27 +0000 (21:27 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 31 Jan 2009 21:27:27 +0000 (21:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/valtext.h
interface/wx/valtext.h
src/common/valtext.cpp

index 1408a09eff6bd143c4e45f056b2f319281c7b8b8..a5fee8fb6f73e0b8f198a784617dc64bf371a7ba 100644 (file)
@@ -26,6 +26,7 @@ enum wxTextValidatorStyle
     wxFILTER_ASCII,
     wxFILTER_ALPHA,
     wxFILTER_ALPHANUMERIC,
+    wxFILTER_SIMPLE_NUMBER,
     wxFILTER_NUMERIC,
     wxFILTER_INCLUDE_LIST,
     wxFILTER_EXCLUDE_LIST,
@@ -82,13 +83,13 @@ public:
 protected:
 
     // returns true if all characters of the given string are present in m_includes
-    bool IsInCharIncludes(const wxString& val) const;
+    bool ContainsOnlyIncludedCharacters(const wxString& val) const;
 
     // returns true if all characters of the given string are NOT present in m_excludes
-    bool IsNotInCharExcludes(const wxString& val) const;
+    bool ContainsExcludedCharacters(const wxString& val) const;
 
     // returns true if the contents of 'val' are valid for the current validation style
-    bool IsValid(const wxString& val, wxString* errormsg) const;
+    virtual bool IsValid(const wxString& val, wxString* errormsg) const;
 
 protected:
     wxTextValidatorStyle m_validatorStyle;
index c61435b3be7259f906a557cf3f7e3035b9526205..a6bde76a50f8f67673f0d14fec72908a82629974 100644 (file)
@@ -15,16 +15,28 @@ enum wxTextValidatorStyle
     /// No filtering takes place.
     wxFILTER_NONE,
 
-    /// Non-ASCII characters are filtered out.
+    /// 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_SIMPLE_NUMBER,
+
+    /// Non-numeric characters are filtered out.
+    /// Works like @c wxFILTER_SIMPLE_NUMBER 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
index d1506717379782e5746096461450e5e757a04158..8b79675c222898230705f95ba79c66dfc16377dd 100644 (file)
 // global helpers
 // ----------------------------------------------------------------------------
 
-static bool wxIsAlpha(const wxString& val)
-{
-    int i;
-    for ( i = 0; i < (int)val.length(); i++)
-    {
-        if (!wxIsalpha(val[i]))
-            return false;
-    }
-    return true;
-}
-
-static bool wxIsAlphaNumeric(const wxString& val)
-{
-    int i;
-    for ( i = 0; i < (int)val.length(); i++)
-    {
-        if (!wxIsalnum(val[i]))
-            return false;
-    }
-    return true;
-}
-
 static bool wxIsNumeric(const wxString& val)
 {
-    int i;
-    for ( i = 0; i < (int)val.length(); i++)
+    for ( wxString::const_iterator i = val.begin(); i != val.end(); ++i )
     {
         // Allow for "," (French) as well as "." -- in future we should
         // use wxSystemSettings or other to do better localisation
-        if ((!wxIsdigit(val[i])) && (val[i] != wxT('.')) && (val[i] != wxT(',')) && (val[i] != wxT('e')) &&
-            (val[i] != wxT('E')) && (val[i] != wxT('+')) && (val[i] != wxT('-')))
+        if ((!wxIsdigit(*i)) && (*i != wxT('.')) && (*i != wxT(',')) && (*i != wxT('e')) &&
+            (*i != wxT('E')) && (*i != wxT('+')) && (*i != wxT('-')))
             return false;
     }
     return true;
 }
 
-
 // ----------------------------------------------------------------------------
 // wxTextValidator
 // ----------------------------------------------------------------------------
@@ -234,27 +210,32 @@ bool wxTextValidator::IsValid(const wxString& val, wxString* pErr) const
         break;
 
     case wxFILTER_ALPHA:
-        if ( !wxIsAlpha(val) )
+        if ( !wxStringCheck<wxIsalpha>(val) )
             errormsg = _("'%s' should only contain alphabetic characters.");
         break;
 
     case wxFILTER_ALPHANUMERIC:
-        if ( !wxIsAlphaNumeric(val) )
+        if ( !wxStringCheck<wxIsalnum>(val) )
             errormsg = _("'%s' should only contain alphabetic or numeric characters.");
         break;
 
+    case wxFILTER_SIMPLE_NUMBER:
+        if ( !wxStringCheck<wxIsdigit>(val) )
+            errormsg = _("'%s' should be numeric.");
+        break;
+
     case wxFILTER_NUMERIC:
         if ( !wxIsNumeric(val) )
             errormsg = _("'%s' should be numeric.");
         break;
 
     case wxFILTER_INCLUDE_CHAR_LIST:
-        if ( !IsInCharIncludes(val) )
+        if ( !ContainsOnlyIncludedCharacters(val) )
             errormsg = _("'%s' is invalid");
         break;
 
     case wxFILTER_EXCLUDE_CHAR_LIST:
-        if ( !IsNotInCharExcludes(val) )
+        if ( ContainsExcludedCharacters(val) )
             errormsg = _("'%s' is invalid");
         break;
 
@@ -268,7 +249,7 @@ bool wxTextValidator::IsValid(const wxString& val, wxString* pErr) const
     return errormsg.empty();
 }
 
-bool wxTextValidator::IsInCharIncludes(const wxString& val) const
+bool wxTextValidator::ContainsOnlyIncludedCharacters(const wxString& val) const
 {
     for (size_t i = 0; i < val.length(); i++)
         if (m_includes.Index((wxString) val[i]) == wxNOT_FOUND)
@@ -279,7 +260,7 @@ bool wxTextValidator::IsInCharIncludes(const wxString& val) const
     return true;
 }
 
-bool wxTextValidator::IsNotInCharExcludes(const wxString& val) const
+bool wxTextValidator::ContainsExcludedCharacters(const wxString& val) const
 {
     for (size_t i = 0; i < val.length(); i++)
         if (m_excludes.Index((wxString) val[i]) != wxNOT_FOUND)