Unicode complation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
cd99221a57
commit
00393283ff
@ -154,7 +154,7 @@ public:
|
|||||||
// Returns numeric ID that is equivalent to string id used in XML
|
// Returns numeric ID that is equivalent to string id used in XML
|
||||||
// resource. To be used in event tables
|
// resource. To be used in event tables
|
||||||
// Macro XMLID is provided for convenience
|
// Macro XMLID is provided for convenience
|
||||||
static int GetXMLID(const char *str_id);
|
static int GetXMLID(const wxChar *str_id);
|
||||||
|
|
||||||
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
|
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
|
||||||
long GetVersion() const { return m_version; }
|
long GetVersion() const { return m_version; }
|
||||||
|
@ -57,7 +57,7 @@ void wxUnknownControlContainer::AddChild(wxWindowBase *child)
|
|||||||
|
|
||||||
SetBackgroundColour(m_bg);
|
SetBackgroundColour(m_bg);
|
||||||
child->SetName(m_controlName);
|
child->SetName(m_controlName);
|
||||||
child->SetId(XMLID(m_controlName));
|
child->SetId(wxXmlResource::GetXMLID(m_controlName));
|
||||||
m_controlAdded = TRUE;
|
m_controlAdded = TRUE;
|
||||||
|
|
||||||
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
- handle unknown encodings
|
- handle unknown encodings
|
||||||
- process all elements, including CDATA
|
- process all elements, including CDATA
|
||||||
- XML resources should automatically select desired encoding besed on
|
- XML resources should automatically select desired encoding based on
|
||||||
runtime environment (?) (would need BIN and BINZ formats modification,
|
runtime environment (?) (would need BIN and BINZ formats modification,
|
||||||
too)
|
too)
|
||||||
|
|
||||||
@ -44,7 +44,7 @@
|
|||||||
inline static wxString CharToString(const char *s, size_t len = wxSTRING_MAXLEN)
|
inline static wxString CharToString(const char *s, size_t len = wxSTRING_MAXLEN)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
return wxString(s, wxMBConvUTF8, len);
|
return wxString(s, wxConvUTF8, len);
|
||||||
#else
|
#else
|
||||||
return wxString(s, len);
|
return wxString(s, len);
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,8 +83,8 @@ bool wxXmlResource::Load(const wxString& filemask)
|
|||||||
while (!!fnd)
|
while (!!fnd)
|
||||||
{
|
{
|
||||||
#if wxUSE_FILESYSTEM
|
#if wxUSE_FILESYSTEM
|
||||||
if (filemask.Lower().Matches("*.zip") ||
|
if (filemask.Lower().Matches(wxT("*.zip")) ||
|
||||||
filemask.Lower().Matches("*.rsc"))
|
filemask.Lower().Matches(wxT("*.rsc")))
|
||||||
{
|
{
|
||||||
rt = rt && Load(fnd + wxT("#zip:*.xmb"));
|
rt = rt && Load(fnd + wxT("#zip:*.xmb"));
|
||||||
rt = rt && Load(fnd + wxT("#zip:*.xrc"));
|
rt = rt && Load(fnd + wxT("#zip:*.xrc"));
|
||||||
@ -569,7 +569,7 @@ int wxXmlResourceHandler::GetID()
|
|||||||
stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP);
|
stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP);
|
||||||
stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT);
|
stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT);
|
||||||
#undef stdID
|
#undef stdID
|
||||||
else return XMLID(sid.c_str());
|
else return wxXmlResource::GetXMLID(sid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -618,7 +618,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
|||||||
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
|
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
|
||||||
if (fsfile == NULL)
|
if (fsfile == NULL)
|
||||||
{
|
{
|
||||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.mb_str());
|
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||||
return wxNullBitmap;
|
return wxNullBitmap;
|
||||||
}
|
}
|
||||||
wxImage img(*(fsfile->GetStream()));
|
wxImage img(*(fsfile->GetStream()));
|
||||||
@ -628,7 +628,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
|||||||
#endif
|
#endif
|
||||||
if (!img.Ok())
|
if (!img.Ok())
|
||||||
{
|
{
|
||||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.mb_str());
|
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||||
return wxNullBitmap;
|
return wxNullBitmap;
|
||||||
}
|
}
|
||||||
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
|
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
|
||||||
@ -708,7 +708,7 @@ wxSize wxXmlResourceHandler::GetSize(const wxString& param)
|
|||||||
if (!s.BeforeFirst(wxT(',')).ToLong(&sx) ||
|
if (!s.BeforeFirst(wxT(',')).ToLong(&sx) ||
|
||||||
!s.AfterLast(wxT(',')).ToLong(&sy))
|
!s.AfterLast(wxT(',')).ToLong(&sy))
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot parse coordinates from '%s'."), s.mb_str());
|
wxLogError(_("Cannot parse coordinates from '%s'."), s.c_str());
|
||||||
return wxDefaultSize;
|
return wxDefaultSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -749,7 +749,7 @@ wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaul
|
|||||||
|
|
||||||
if (!s.ToLong(&sx))
|
if (!s.ToLong(&sx))
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot parse dimension from '%s'."), s.mb_str());
|
wxLogError(_("Cannot parse dimension from '%s'."), s.c_str());
|
||||||
return defaultv;
|
return defaultv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -775,7 +775,7 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param)
|
|||||||
wxXmlNode *font_node = GetParamNode(param);
|
wxXmlNode *font_node = GetParamNode(param);
|
||||||
if (font_node == NULL)
|
if (font_node == NULL)
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot find font node '%s'."), param.mb_str());
|
wxLogError(_("Cannot find font node '%s'."), param.c_str());
|
||||||
return wxNullFont;
|
return wxNullFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,26 +904,26 @@ void wxXmlResourceHandler::CreateChildrenPrivately(wxObject *parent, wxXmlNode *
|
|||||||
struct XMLID_record
|
struct XMLID_record
|
||||||
{
|
{
|
||||||
int id;
|
int id;
|
||||||
char *key;
|
wxChar *key;
|
||||||
XMLID_record *next;
|
XMLID_record *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
||||||
|
|
||||||
/*static*/ int wxXmlResource::GetXMLID(const char *str_id)
|
/*static*/ int wxXmlResource::GetXMLID(const wxChar *str_id)
|
||||||
{
|
{
|
||||||
static int XMLID_LastID = wxID_HIGHEST;
|
static int XMLID_LastID = wxID_HIGHEST;
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
for (const char *c = str_id; *c != '\0'; c++) index += (int)*c;
|
for (const wxChar *c = str_id; *c != wxT('\0'); c++) index += (int)*c;
|
||||||
index %= XMLID_TABLE_SIZE;
|
index %= XMLID_TABLE_SIZE;
|
||||||
|
|
||||||
XMLID_record *oldrec = NULL;
|
XMLID_record *oldrec = NULL;
|
||||||
int matchcnt = 0;
|
int matchcnt = 0;
|
||||||
for (XMLID_record *rec = XMLID_Records[index]; rec; rec = rec->next)
|
for (XMLID_record *rec = XMLID_Records[index]; rec; rec = rec->next)
|
||||||
{
|
{
|
||||||
if (strcmp(rec->key, str_id) == 0)
|
if (wxStrcmp(rec->key, str_id) == 0)
|
||||||
{
|
{
|
||||||
return rec->id;
|
return rec->id;
|
||||||
}
|
}
|
||||||
@ -935,7 +935,7 @@ static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
|||||||
&XMLID_Records[index] : &oldrec->next;
|
&XMLID_Records[index] : &oldrec->next;
|
||||||
*rec_var = new XMLID_record;
|
*rec_var = new XMLID_record;
|
||||||
(*rec_var)->id = ++XMLID_LastID;
|
(*rec_var)->id = ++XMLID_LastID;
|
||||||
(*rec_var)->key = strdup(str_id);
|
(*rec_var)->key = wxStrdup(str_id);
|
||||||
(*rec_var)->next = NULL;
|
(*rec_var)->next = NULL;
|
||||||
|
|
||||||
return (*rec_var)->id;
|
return (*rec_var)->id;
|
||||||
@ -947,7 +947,7 @@ static void CleanXMLID_Record(XMLID_record *rec)
|
|||||||
if (rec)
|
if (rec)
|
||||||
{
|
{
|
||||||
CleanXMLID_Record(rec->next);
|
CleanXMLID_Record(rec->next);
|
||||||
free (rec->key);
|
free(rec->key);
|
||||||
delete rec;
|
delete rec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ inline static void OutputString(wxOutputStream& stream, const wxString& str)
|
|||||||
{
|
{
|
||||||
if (str.IsEmpty()) return;
|
if (str.IsEmpty()) return;
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
char *buf = str.mb_str(wxMBConvUTF8);
|
const char *buf = str.mb_str(wxConvUTF8);
|
||||||
stream.Write(buf, strlen(buf));
|
stream.Write(buf, strlen(buf));
|
||||||
#else
|
#else
|
||||||
stream.Write(str.mb_str(), str.Len());
|
stream.Write(str.mb_str(), str.Len());
|
||||||
|
@ -154,7 +154,7 @@ public:
|
|||||||
// Returns numeric ID that is equivalent to string id used in XML
|
// Returns numeric ID that is equivalent to string id used in XML
|
||||||
// resource. To be used in event tables
|
// resource. To be used in event tables
|
||||||
// Macro XMLID is provided for convenience
|
// Macro XMLID is provided for convenience
|
||||||
static int GetXMLID(const char *str_id);
|
static int GetXMLID(const wxChar *str_id);
|
||||||
|
|
||||||
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
|
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
|
||||||
long GetVersion() const { return m_version; }
|
long GetVersion() const { return m_version; }
|
||||||
|
@ -57,7 +57,7 @@ void wxUnknownControlContainer::AddChild(wxWindowBase *child)
|
|||||||
|
|
||||||
SetBackgroundColour(m_bg);
|
SetBackgroundColour(m_bg);
|
||||||
child->SetName(m_controlName);
|
child->SetName(m_controlName);
|
||||||
child->SetId(XMLID(m_controlName));
|
child->SetId(wxXmlResource::GetXMLID(m_controlName));
|
||||||
m_controlAdded = TRUE;
|
m_controlAdded = TRUE;
|
||||||
|
|
||||||
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
- handle unknown encodings
|
- handle unknown encodings
|
||||||
- process all elements, including CDATA
|
- process all elements, including CDATA
|
||||||
- XML resources should automatically select desired encoding besed on
|
- XML resources should automatically select desired encoding based on
|
||||||
runtime environment (?) (would need BIN and BINZ formats modification,
|
runtime environment (?) (would need BIN and BINZ formats modification,
|
||||||
too)
|
too)
|
||||||
|
|
||||||
@ -44,7 +44,7 @@
|
|||||||
inline static wxString CharToString(const char *s, size_t len = wxSTRING_MAXLEN)
|
inline static wxString CharToString(const char *s, size_t len = wxSTRING_MAXLEN)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
return wxString(s, wxMBConvUTF8, len);
|
return wxString(s, wxConvUTF8, len);
|
||||||
#else
|
#else
|
||||||
return wxString(s, len);
|
return wxString(s, len);
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,8 +83,8 @@ bool wxXmlResource::Load(const wxString& filemask)
|
|||||||
while (!!fnd)
|
while (!!fnd)
|
||||||
{
|
{
|
||||||
#if wxUSE_FILESYSTEM
|
#if wxUSE_FILESYSTEM
|
||||||
if (filemask.Lower().Matches("*.zip") ||
|
if (filemask.Lower().Matches(wxT("*.zip")) ||
|
||||||
filemask.Lower().Matches("*.rsc"))
|
filemask.Lower().Matches(wxT("*.rsc")))
|
||||||
{
|
{
|
||||||
rt = rt && Load(fnd + wxT("#zip:*.xmb"));
|
rt = rt && Load(fnd + wxT("#zip:*.xmb"));
|
||||||
rt = rt && Load(fnd + wxT("#zip:*.xrc"));
|
rt = rt && Load(fnd + wxT("#zip:*.xrc"));
|
||||||
@ -569,7 +569,7 @@ int wxXmlResourceHandler::GetID()
|
|||||||
stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP);
|
stdID(wxID_DEFAULT); stdID(wxID_MORE); stdID(wxID_SETUP);
|
||||||
stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT);
|
stdID(wxID_RESET); stdID(wxID_HELP_CONTEXT);
|
||||||
#undef stdID
|
#undef stdID
|
||||||
else return XMLID(sid.c_str());
|
else return wxXmlResource::GetXMLID(sid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -618,7 +618,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
|||||||
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
|
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
|
||||||
if (fsfile == NULL)
|
if (fsfile == NULL)
|
||||||
{
|
{
|
||||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.mb_str());
|
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||||
return wxNullBitmap;
|
return wxNullBitmap;
|
||||||
}
|
}
|
||||||
wxImage img(*(fsfile->GetStream()));
|
wxImage img(*(fsfile->GetStream()));
|
||||||
@ -628,7 +628,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
|||||||
#endif
|
#endif
|
||||||
if (!img.Ok())
|
if (!img.Ok())
|
||||||
{
|
{
|
||||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.mb_str());
|
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||||
return wxNullBitmap;
|
return wxNullBitmap;
|
||||||
}
|
}
|
||||||
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
|
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
|
||||||
@ -708,7 +708,7 @@ wxSize wxXmlResourceHandler::GetSize(const wxString& param)
|
|||||||
if (!s.BeforeFirst(wxT(',')).ToLong(&sx) ||
|
if (!s.BeforeFirst(wxT(',')).ToLong(&sx) ||
|
||||||
!s.AfterLast(wxT(',')).ToLong(&sy))
|
!s.AfterLast(wxT(',')).ToLong(&sy))
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot parse coordinates from '%s'."), s.mb_str());
|
wxLogError(_("Cannot parse coordinates from '%s'."), s.c_str());
|
||||||
return wxDefaultSize;
|
return wxDefaultSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -749,7 +749,7 @@ wxCoord wxXmlResourceHandler::GetDimension(const wxString& param, wxCoord defaul
|
|||||||
|
|
||||||
if (!s.ToLong(&sx))
|
if (!s.ToLong(&sx))
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot parse dimension from '%s'."), s.mb_str());
|
wxLogError(_("Cannot parse dimension from '%s'."), s.c_str());
|
||||||
return defaultv;
|
return defaultv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -775,7 +775,7 @@ wxFont wxXmlResourceHandler::GetFont(const wxString& param)
|
|||||||
wxXmlNode *font_node = GetParamNode(param);
|
wxXmlNode *font_node = GetParamNode(param);
|
||||||
if (font_node == NULL)
|
if (font_node == NULL)
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot find font node '%s'."), param.mb_str());
|
wxLogError(_("Cannot find font node '%s'."), param.c_str());
|
||||||
return wxNullFont;
|
return wxNullFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,26 +904,26 @@ void wxXmlResourceHandler::CreateChildrenPrivately(wxObject *parent, wxXmlNode *
|
|||||||
struct XMLID_record
|
struct XMLID_record
|
||||||
{
|
{
|
||||||
int id;
|
int id;
|
||||||
char *key;
|
wxChar *key;
|
||||||
XMLID_record *next;
|
XMLID_record *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
||||||
|
|
||||||
/*static*/ int wxXmlResource::GetXMLID(const char *str_id)
|
/*static*/ int wxXmlResource::GetXMLID(const wxChar *str_id)
|
||||||
{
|
{
|
||||||
static int XMLID_LastID = wxID_HIGHEST;
|
static int XMLID_LastID = wxID_HIGHEST;
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
for (const char *c = str_id; *c != '\0'; c++) index += (int)*c;
|
for (const wxChar *c = str_id; *c != wxT('\0'); c++) index += (int)*c;
|
||||||
index %= XMLID_TABLE_SIZE;
|
index %= XMLID_TABLE_SIZE;
|
||||||
|
|
||||||
XMLID_record *oldrec = NULL;
|
XMLID_record *oldrec = NULL;
|
||||||
int matchcnt = 0;
|
int matchcnt = 0;
|
||||||
for (XMLID_record *rec = XMLID_Records[index]; rec; rec = rec->next)
|
for (XMLID_record *rec = XMLID_Records[index]; rec; rec = rec->next)
|
||||||
{
|
{
|
||||||
if (strcmp(rec->key, str_id) == 0)
|
if (wxStrcmp(rec->key, str_id) == 0)
|
||||||
{
|
{
|
||||||
return rec->id;
|
return rec->id;
|
||||||
}
|
}
|
||||||
@ -935,7 +935,7 @@ static XMLID_record *XMLID_Records[XMLID_TABLE_SIZE] = {NULL};
|
|||||||
&XMLID_Records[index] : &oldrec->next;
|
&XMLID_Records[index] : &oldrec->next;
|
||||||
*rec_var = new XMLID_record;
|
*rec_var = new XMLID_record;
|
||||||
(*rec_var)->id = ++XMLID_LastID;
|
(*rec_var)->id = ++XMLID_LastID;
|
||||||
(*rec_var)->key = strdup(str_id);
|
(*rec_var)->key = wxStrdup(str_id);
|
||||||
(*rec_var)->next = NULL;
|
(*rec_var)->next = NULL;
|
||||||
|
|
||||||
return (*rec_var)->id;
|
return (*rec_var)->id;
|
||||||
@ -947,7 +947,7 @@ static void CleanXMLID_Record(XMLID_record *rec)
|
|||||||
if (rec)
|
if (rec)
|
||||||
{
|
{
|
||||||
CleanXMLID_Record(rec->next);
|
CleanXMLID_Record(rec->next);
|
||||||
free (rec->key);
|
free(rec->key);
|
||||||
delete rec;
|
delete rec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ inline static void OutputString(wxOutputStream& stream, const wxString& str)
|
|||||||
{
|
{
|
||||||
if (str.IsEmpty()) return;
|
if (str.IsEmpty()) return;
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
char *buf = str.mb_str(wxMBConvUTF8);
|
const char *buf = str.mb_str(wxConvUTF8);
|
||||||
stream.Write(buf, strlen(buf));
|
stream.Write(buf, strlen(buf));
|
||||||
#else
|
#else
|
||||||
stream.Write(str.mb_str(), str.Len());
|
stream.Write(str.mb_str(), str.Len());
|
||||||
|
Loading…
Reference in New Issue
Block a user