X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34af0de434db039e927805e3dd13fee74979c4e9..3ad4e2df049878c3a671ae6add4974192c02113e:/src/xrc/xmlres.cpp diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index 569ca71aac..5a82615c3a 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -786,12 +786,15 @@ void wxXmlResourceHandler::AddStyle(const wxString& name, int value) void wxXmlResourceHandler::AddWindowStyles() { XRC_ADD_STYLE(wxCLIP_CHILDREN); - XRC_ADD_STYLE(wxSIMPLE_BORDER); - XRC_ADD_STYLE(wxSUNKEN_BORDER); - XRC_ADD_STYLE(wxDOUBLE_BORDER); - XRC_ADD_STYLE(wxRAISED_BORDER); - XRC_ADD_STYLE(wxSTATIC_BORDER); - XRC_ADD_STYLE(wxNO_BORDER); + + // 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(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); + XRC_ADD_STYLE(wxTRANSPARENT_WINDOW); XRC_ADD_STYLE(wxWANTS_CHARS); XRC_ADD_STYLE(wxTAB_TRAVERSAL); @@ -1091,21 +1094,17 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxImage img(*(fsfile->GetStream())); delete fsfile; #else - wxImage img(GetParamValue(wxT("bitmap"))); + wxImage img(name); #endif if (!img.Ok()) { wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), - param.c_str()); + name.c_str()); return wxNullBitmap; } if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y); -#if !defined(__WXMSW__) || wxUSE_WXDIB return wxBitmap(img); -#else - return wxBitmap(); -#endif } @@ -1288,10 +1287,10 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param) // font attributes: // size - int isize = wxDEFAULT; + int isize = -1; bool hasSize = HasParam(wxT("size")); if (hasSize) - isize = GetLong(wxT("size"), wxDEFAULT); + isize = GetLong(wxT("size"), -1); // style int istyle = wxNORMAL; @@ -1369,36 +1368,38 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param) } // is this font based on a system font? - wxFont sysfont = GetSystemFont(GetParamValue(wxT("sysfont"))); + wxFont font = GetSystemFont(GetParamValue(wxT("sysfont"))); - if (sysfont.Ok()) + if (font.Ok()) { - if (hasSize) - sysfont.SetPointSize(isize); + if (hasSize && isize != -1) + font.SetPointSize(isize); else if (HasParam(wxT("relativesize"))) - sysfont.SetPointSize(int(sysfont.GetPointSize() * + font.SetPointSize(int(font.GetPointSize() * GetFloat(wxT("relativesize")))); if (hasStyle) - sysfont.SetStyle(istyle); + font.SetStyle(istyle); if (hasWeight) - sysfont.SetWeight(iweight); + font.SetWeight(iweight); if (hasUnderlined) - sysfont.SetUnderlined(underlined); + font.SetUnderlined(underlined); if (hasFamily) - sysfont.SetFamily(ifamily); + font.SetFamily(ifamily); if (hasFacename) - sysfont.SetFaceName(facename); + font.SetFaceName(facename); if (hasEncoding) - sysfont.SetDefaultEncoding(enc); - - m_node = oldnode; - return sysfont; + font.SetDefaultEncoding(enc); + } + else // not based on system font + { + font = wxFont(isize == -1 ? wxNORMAL_FONT->GetPointSize() : isize, + ifamily, istyle, iweight, + underlined, facename, enc); } m_node = oldnode; - return wxFont(isize, ifamily, istyle, iweight, - underlined, facename, enc); + return font; }