make it possible to override translatable status of text entry

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2004-02-11 20:10:56 +00:00
parent fb2e90c174
commit 7b56015f90
2 changed files with 50 additions and 8 deletions

View File

@@ -752,7 +752,8 @@ int wxXmlResourceHandler::GetStyle(const wxString& param, int defaults)
wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
{
wxString str1(GetParamValue(param));
wxXmlNode *parNode = GetParamNode(param);
wxString str1(GetNodeContent(parNode));
wxString str2;
const wxChar *dt;
wxChar amp_char;
@@ -788,11 +789,31 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
else str2 << *dt;
}
if (translate && m_resource->GetFlags() & wxXRC_USE_LOCALE)
return wxGetTranslation(str2);
if (m_resource->GetFlags() & wxXRC_USE_LOCALE)
{
if (translate && parNode &&
parNode->GetPropVal(wxT("translate"), wxEmptyString) != wxT("0"))
{
return wxGetTranslation(str2);
}
else
{
#if wxUSE_UNICODE
return str2;
#else
// The string is internally stored as UTF-8, we have to convert
// it into system's default encoding so that it can be displayed:
return wxString(str2.mb_str(wxConvUTF8), wxConvLocal);
#endif
}
}
else
{
// If wxXRC_USE_LOCALE is not set, then the string is already in
// system's default encoding in ANSI build, so we don't have to
// do anything special here.
return str2;
}
}