X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77b2f9b185e5643c009c8a294ee9819d3950c423..8916d00747c8e7b704ad549afcd8d0f88b6d861e:/contrib/src/xrc/xmlres.cpp?ds=sidebyside diff --git a/contrib/src/xrc/xmlres.cpp b/contrib/src/xrc/xmlres.cpp index c5f7a8c8ed..93a0b7f561 100644 --- a/contrib/src/xrc/xmlres.cpp +++ b/contrib/src/xrc/xmlres.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: xmlres.cpp -// Purpose: XML resources +// Purpose: XRC resources // Author: Vaclav Slavik // Created: 2000/03/05 // RCS-ID: $Id$ @@ -245,14 +245,17 @@ static void ProcessPlatformProperty(wxXmlNode *node) } if (isok) + { ProcessPlatformProperty(c); + c = c->GetNext(); + } else { node->RemoveChild(c); + wxXmlNode *c2 = c->GetNext(); delete c; + c = c2; } - - c = c->GetNext(); } } @@ -307,7 +310,7 @@ void wxXmlResource::UpdateResources() } else if (m_data[i].Doc->GetRoot()->GetName() != wxT("resource")) { - wxLogError(_("Invalid XML resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str()); + wxLogError(_("Invalid XRC resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str()); wxDELETE(m_data[i].Doc); } else @@ -365,7 +368,7 @@ wxXmlNode *wxXmlResource::FindResource(const wxString& name, const wxString& cla } } - wxLogError(_("XML resource '%s' (class '%s') not found!"), + wxLogError(_("XRC resource '%s' (class '%s') not found!"), name.c_str(), classname.c_str()); return NULL; } @@ -491,12 +494,17 @@ int wxXmlResourceHandler::GetStyle(const wxString& param, int defaults) wxString wxXmlResourceHandler::GetText(const wxString& param) { - wxString str1 = GetParamValue(param); + wxString str1; wxString str2; const wxChar *dt; wxChar amp_char; - // VS: First version of XML resources used $ instead of & (which is illegal in XML), + if (m_resource->GetUseLocale()) + str1 = wxGetTranslation(GetParamValue(param)); + else + str1 = GetParamValue(param); + + // VS: First version of XRC resources used $ instead of & (which is illegal in XML), // but later I realized that '_' fits this purpose much better (because // &File means "File with F underlined"). if (m_resource->CompareVersion(2,3,0,1) < 0) @@ -526,11 +534,8 @@ wxString wxXmlResourceHandler::GetText(const wxString& param) } else str2 << *dt; } - - if (m_resource->GetUseLocale()) - return wxGetTranslation(str2); - else - return str2; + + return str2; } @@ -598,7 +603,7 @@ wxColour wxXmlResourceHandler::GetColour(const wxString& param) if (v.Length() != 7 || v[0u] != wxT('#') || wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1) { - wxLogError(_("XML resource: Incorrect colour specification '%s' for property '%s'."), + wxLogError(_("XRC resource: Incorrect colour specification '%s' for property '%s'."), v.c_str(), param.c_str()); return wxNullColour; } @@ -618,7 +623,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size) wxFSFile *fsfile = GetCurFileSystem().OpenFile(name); if (fsfile == NULL) { - wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str()); + wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str()); return wxNullBitmap; } wxImage img(*(fsfile->GetStream())); @@ -628,7 +633,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size) #endif if (!img.Ok()) { - wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str()); + wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str()); return wxNullBitmap; } if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y); @@ -805,8 +810,10 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param) wxString encoding = GetParamValue(wxT("encoding")); wxFontMapper mapper; wxFontEncoding enc = wxFONTENCODING_DEFAULT; - if (!encoding.IsEmpty()) enc = mapper.CharsetToEncoding(encoding); - if (enc == wxFONTENCODING_SYSTEM) enc = wxFONTENCODING_SYSTEM; + if (!encoding.IsEmpty()) + enc = mapper.CharsetToEncoding(encoding); + if (enc == wxFONTENCODING_SYSTEM) + enc = wxFONTENCODING_DEFAULT; wxString faces = GetParamValue(wxT("face")); wxString facename = wxEmptyString;