// the border styles all have the old and new names, recognize both for now
XRC_ADD_STYLE(wxSIMPLE_BORDER); XRC_ADD_STYLE(wxBORDER_SIMPLE);
XRC_ADD_STYLE(wxSUNKEN_BORDER); XRC_ADD_STYLE(wxBORDER_SUNKEN);
- XRC_ADD_STYLE(wxDOUBLE_BORDER); XRC_ADD_STYLE(wxBORDER_DOUBLE);
+ XRC_ADD_STYLE(wxDOUBLE_BORDER); XRC_ADD_STYLE(wxBORDER_DOUBLE); // deprecated
+ XRC_ADD_STYLE(wxBORDER_THEME);
XRC_ADD_STYLE(wxRAISED_BORDER); XRC_ADD_STYLE(wxBORDER_RAISED);
XRC_ADD_STYLE(wxSTATIC_BORDER); XRC_ADD_STYLE(wxBORDER_STATIC);
XRC_ADD_STYLE(wxNO_BORDER); XRC_ADD_STYLE(wxBORDER_NONE);
{
wxString str = GetParamValue(param);
-#if wxUSE_INTL
- // strings in XRC always use C locale but wxString::ToDouble() uses the
- // current one, so transform the string to it supposing that the only
- // difference between them is the decimal separator
- //
- // TODO: use wxString::ToCDouble() when we have it
- str.Replace(wxT("."), wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT,
- wxLOCALE_CAT_NUMBER));
-#endif // wxUSE_INTL
-
+ // strings in XRC always use C locale so make sure to use the
+ // locale-independent wxString::ToCDouble() and not ToDouble() which uses
+ // the current locale with a potentially different decimal point character
double value;
- if (!str.ToDouble(&value))
+ if (!str.ToCDouble(&value))
value = defaultv;
return wx_truncate_cast(float, value);
static int XRCID_Lookup(const char *str_id, int value_if_not_found = wxID_NONE)
{
- int index = 0;
+ unsigned int index = 0;
- for (const char *c = str_id; *c != '\0'; c++) index += (int)*c;
+ for (const char *c = str_id; *c != '\0'; c++) index += (unsigned int)*c;
index %= XRCID_TABLE_SIZE;
XRCID_record *oldrec = NULL;