]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/valtext.cpp
file I forgot to commit last time (wxCritSection)
[wxWidgets.git] / src / common / valtext.cpp
index 7da74055f5c58e23358f79885b06c6da4b847937..299ef6042a2ef87015936cbd45bbfdea53477dad 100644 (file)
@@ -270,7 +270,10 @@ void wxTextValidator::OnChar(wxKeyEvent& event)
        wxTextCtrl *textCtrl = (wxTextCtrl *)m_validatorWindow;
 
        int keyCode = event.KeyCode();
-       if ( keyCode == WXK_DELETE || keyCode == WXK_RETURN || keyCode == WXK_BACK)
+       if (keyCode == WXK_DELETE || keyCode == WXK_RETURN || keyCode == WXK_BACK ||
+           keyCode == WXK_HOME || keyCode == WXK_LEFT || keyCode == WXK_UP ||
+           keyCode == WXK_RIGHT || keyCode == WXK_DOWN || keyCode == WXK_PRIOR ||
+           keyCode == WXK_NEXT || keyCode == WXK_END || keyCode == WXK_HOME)
        {
                textCtrl->wxTextCtrl::OnChar(event);
                return ;
@@ -291,7 +294,7 @@ void wxTextValidator::OnChar(wxKeyEvent& event)
                wxBell();
                return;
        }
-       if ( (m_validatorStyle & wxFILTER_NUMERIC) && !isdigit(keyCode) && keyCode != '.' )
+       if ( (m_validatorStyle & wxFILTER_NUMERIC) && !isdigit(keyCode) && keyCode != '.' && keyCode != '-')
        {
                wxBell();
                return;
@@ -306,6 +309,7 @@ static bool wxIsNumeric(const wxString& val)
        for ( i = 0; i < (int)val.Length(); i++)
        {
                if ((!isdigit(val[i])) && (val[i] != '.'))
+                 if(!((i == 0) && (val[i] == '-')))
                        return FALSE;
        }
        return TRUE;