Make it possible to tell wxXmlResource which domain to pull
translatable strings from. Make the wxLocale::GetString methods virtual so they can be overridden in derived classes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -65,24 +65,41 @@ wxXmlResource *wxXmlResource::ms_instance = NULL;
|
||||
return old;
|
||||
}
|
||||
|
||||
wxXmlResource::wxXmlResource(int flags)
|
||||
wxXmlResource::wxXmlResource(int flags, const wxString& domain)
|
||||
{
|
||||
m_flags = flags;
|
||||
m_version = -1;
|
||||
m_domain = NULL;
|
||||
if (! domain.empty() )
|
||||
SetDomain(domain);
|
||||
}
|
||||
|
||||
wxXmlResource::wxXmlResource(const wxString& filemask, int flags)
|
||||
wxXmlResource::wxXmlResource(const wxString& filemask, int flags, const wxString& domain)
|
||||
{
|
||||
m_flags = flags;
|
||||
m_version = -1;
|
||||
m_domain = NULL;
|
||||
if (! domain.empty() )
|
||||
SetDomain(domain);
|
||||
Load(filemask);
|
||||
}
|
||||
|
||||
wxXmlResource::~wxXmlResource()
|
||||
{
|
||||
if (m_domain)
|
||||
free(m_domain);
|
||||
ClearHandlers();
|
||||
}
|
||||
|
||||
void wxXmlResource::SetDomain(const wxChar* domain)
|
||||
{
|
||||
if (m_domain)
|
||||
free(m_domain);
|
||||
m_domain = NULL;
|
||||
if (domain && wxStrlen(domain))
|
||||
m_domain = wxStrdup(domain);
|
||||
}
|
||||
|
||||
|
||||
/* static */
|
||||
wxString wxXmlResource::ConvertFileNameToURL(const wxString& filename)
|
||||
@@ -916,7 +933,7 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate)
|
||||
if (translate && parNode &&
|
||||
parNode->GetPropVal(wxT("translate"), wxEmptyString) != wxT("0"))
|
||||
{
|
||||
return wxGetTranslation(str2);
|
||||
return wxGetTranslation(str2, m_resource->GetDomain());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user