#include <stdio.h>
#include "wx/textctrl.h"
#include "wx/utils.h"
-#include "wx/msgbxdlg.h"
+#include "wx/msgdlg.h"
+#include "wx/intl.h"
#endif
#include "wx/valtext.h"
END_EVENT_TABLE()
#endif
+static bool wxIsNumeric(const wxString& val);
+
wxTextValidator::wxTextValidator(long style, wxString *val)
{
m_validatorStyle = style ;
{
if ( !m_includeList.Member(val) )
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s is invalid.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s is invalid."), (const char *)val);
+ wxMessageBox(buf, _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
}
{
if ( m_excludeList.Member(val) )
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s is invalid.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s is invalid."), (const char *)val);
+ wxMessageBox(buf, _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
}
if ( (m_validatorStyle & wxFILTER_ASCII) && !val.IsAscii() )
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s should only contain ASCII characters.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s should only contain ASCII characters."), (const char *)val);
+ wxMessageBox(buf, _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
if ( (m_validatorStyle & wxFILTER_ALPHA) && !wxIsAlpha(val) )
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s should only contain alphabetic characters.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s should only contain alphabetic characters."), (const char *)val);
+ wxMessageBox(buf, _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
if ( (m_validatorStyle & wxFILTER_ALPHANUMERIC) && !wxIsAlphaNumeric(val))
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s should only contain alphabetic or numeric characters.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s should only contain alphabetic or numeric characters."), (const char *)val);
+ wxMessageBox(buf,_("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
- if ( (m_validatorStyle & wxFILTER_NUMERIC) && !val.IsNumber())
+ if ( (m_validatorStyle & wxFILTER_NUMERIC) && !wxIsNumeric(val))
+
{
+ m_validatorWindow->SetFocus();
char buf[512];
- sprintf(buf, "%s should be numeric.", (const char *)val);
- wxMessageBox(buf, "Validation conflict", wxOK | wxICON_EXCLAMATION, parent);
+ sprintf(buf, _("%s should be numeric."), (const char *)val);
+ wxMessageBox(buf, _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return FALSE;
}
textCtrl->wxTextCtrl::OnChar(event);
}
+static bool wxIsNumeric(const wxString& val)
+{
+ int i;
+ for ( i = 0; i < (int)val.Length(); i++)
+ {
+ if ((!isdigit(val[i])) && (val[i] != '.'))
+ return FALSE;
+ }
+ return TRUE;
+}