X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88a7a4e10ed18f81a576dcd866cfbf02bf404c00..7c2151fa69d31ea9641dd9b3daaa2d810b913cfe:/src/xrc/xmlres.cpp diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index 1579782186..789761a6e1 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -21,27 +21,27 @@ #ifndef WX_PRECOMP #include "wx/intl.h" + #include "wx/log.h" + #include "wx/panel.h" + #include "wx/frame.h" + #include "wx/dialog.h" + #include "wx/settings.h" + #include "wx/bitmap.h" #endif #ifndef __WXWINCE__ #include #endif -#include "wx/dialog.h" -#include "wx/panel.h" -#include "wx/frame.h" #include "wx/wfstream.h" #include "wx/filesys.h" #include "wx/filename.h" -#include "wx/log.h" #include "wx/tokenzr.h" #include "wx/fontenum.h" #include "wx/module.h" -#include "wx/bitmap.h" #include "wx/image.h" #include "wx/fontmap.h" #include "wx/artprov.h" -#include "wx/settings.h" #include "wx/xml/xml.h" @@ -643,7 +643,7 @@ static void MergeNodes(wxXmlNode& dest, wxXmlNode& with) } } - if ( dest.GetType() == wxXML_TEXT_NODE && with.GetContent().Length() ) + if ( dest.GetType() == wxXML_TEXT_NODE && with.GetContent().length() ) dest.SetContent(with.GetContent()); } @@ -1045,16 +1045,14 @@ static wxColour GetSystemColour(const wxString& name) wxColour wxXmlResourceHandler::GetColour(const wxString& param) { wxString v = GetParamValue(param); + wxColour clr; - // find colour using HTML syntax (#RRGGBB) - unsigned long tmp = 0; - - if (v.length() != 7 || v[0u] != wxT('#') || - wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1) + // wxString -> wxColour conversion + if (!clr.Set(v)) { // the colour doesn't use #RRGGBB format, check if it is symbolic // colour name: - wxColour clr = GetSystemColour(v); + clr = GetSystemColour(v); if (clr.Ok()) return clr; @@ -1063,9 +1061,7 @@ wxColour wxXmlResourceHandler::GetColour(const wxString& param) return wxNullColour; } - return wxColour((unsigned char) ((tmp & 0xFF0000) >> 16) , - (unsigned char) ((tmp & 0x00FF00) >> 8), - (unsigned char) ((tmp & 0x0000FF))); + return clr; } @@ -1355,15 +1351,14 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param) if (hasFacename) { wxString faces = GetParamValue(wxT("face")); - wxFontEnumerator enu; - enu.EnumerateFacenames(); + wxArrayString facenames(wxFontEnumerator::GetFacenames()); wxStringTokenizer tk(faces, wxT(",")); while (tk.HasMoreTokens()) { - int index = enu.GetFacenames()->Index(tk.GetNextToken(), false); + int index = facenames.Index(tk.GetNextToken(), false); if (index != wxNOT_FOUND) { - facename = (*enu.GetFacenames())[index]; + facename = facenames[index]; break; } } @@ -1501,7 +1496,7 @@ struct XRCID_record static XRCID_record *XRCID_Records[XRCID_TABLE_SIZE] = {NULL}; -static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2) +static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = wxID_NONE) { int index = 0; @@ -1525,7 +1520,7 @@ static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2) (*rec_var)->next = NULL; wxChar *end; - if (value_if_not_found != -2) + if (value_if_not_found != wxID_NONE) (*rec_var)->id = value_if_not_found; else { @@ -1546,7 +1541,8 @@ static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2) static void AddStdXRCID_Records(); -/*static*/ int wxXmlResource::GetXRCID(const wxChar *str_id) +/*static*/ +int wxXmlResource::GetXRCID(const wxChar *str_id, int value_if_not_found) { static bool s_stdIDsAdded = false; @@ -1556,7 +1552,7 @@ static void AddStdXRCID_Records(); AddStdXRCID_Records(); } - return XRCID_Lookup(str_id); + return XRCID_Lookup(str_id, value_if_not_found); }