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:
Robin Dunn
2006-08-21 18:27:15 +00:00
parent 4e9080bc8e
commit d4a724d407
13 changed files with 260 additions and 33 deletions

View File

@@ -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
{