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:
Václav Slavík 2001-07-18 23:01:31 +00:00
parent cd99221a57
commit 00393283ff
10 changed files with 38 additions and 38 deletions

View File

@ -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; }

View File

@ -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);

View File

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

View File

@ -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;
} }
} }

View File

@ -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());

View File

@ -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; }

View File

@ -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);

View File

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

View File

@ -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;
} }
} }

View File

@ -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());