#ifdef __WXMSW__
/* static */
-wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory cat)
+wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
{
wxString str;
wxChar buffer[256];
switch (index)
{
case wxLOCALE_THOUSANDS_SEP:
- return locale_info->thousands_sep;
+ return wxString(locale_info->thousands_sep,
+ *wxConvCurrent);
case wxLOCALE_DECIMAL_POINT:
- return locale_info->decimal_point;
+ return wxString(locale_info->decimal_point,
+ *wxConvCurrent);
default:
return wxEmptyString;
}
switch (index)
{
case wxLOCALE_THOUSANDS_SEP:
- return locale_info->mon_thousands_sep;
+ return wxString(locale_info->mon_thousands_sep,
+ *wxConvCurrent);
case wxLOCALE_DECIMAL_POINT:
- return locale_info->mon_decimal_point;
+ return wxString(locale_info->mon_decimal_point,
+ *wxConvCurrent);
default:
return wxEmptyString;
}
void wxGridCellFloatEditor::StartingKey(wxKeyEvent& event)
{
int keycode = event.GetKeyCode();
+ char tmpbuf[2];
+ tmpbuf[0] = (char) keycode;
+ tmpbuf[1] = '\0';
+ bool is_decimal_point = ( wxString(tmpbuf, *wxConvCurrent) ==
+ wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER) );
if ( wxIsdigit(keycode) || keycode == '+' || keycode == '-'
- || keycode == wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER)[0u]
+ || is_decimal_point
|| keycode == WXK_NUMPAD0
|| keycode == WXK_NUMPAD1
|| keycode == WXK_NUMPAD2
case WXK_NUMPAD_DECIMAL:
return TRUE;
- default:
- // additionally accept 'e' as in '1e+6', also '-', '+', and '.'
+ default:
+ {
+ // additionally accept 'e' as in '1e+6', also '-', '+', and '.'
+ char tmpbuf[2];
+ tmpbuf[0] = (char) keycode;
+ tmpbuf[1] = '\0';
+ bool is_decimal_point =
+ ( wxString(tmpbuf, *wxConvCurrent) ==
+ wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT,
+ wxLOCALE_CAT_NUMBER) );
if ( (keycode < 128) &&
(wxIsdigit(keycode) || tolower(keycode) == 'e' ||
- keycode == wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER)[0u] ||
- keycode == '+' || keycode == '-') )
+ is_decimal_point || keycode == '+' || keycode == '-') )
return TRUE;
+ }
}
}