More helpful Unicode stuff.
Conversion classes are now: wxConv_libc (standard mbstowcs/wcstombs) wxConv_file (usually same as above, but I think some Asian locales use different encoding systems on the filenames than on the contents of the files) wxConv_UTF7 (7-bit Unicode encoding (similar to BASE64), for email etc, not implemented yet) wxConv_UTF8 (8-bit Unicode encoding, not implemented yet, just uses mbstowcs/wcstombs, which just happens to be UTF-8 in glibc2) wxConv_gdk (gdk_mbstowcs/gdk_wcstombs, not too useful) wxConv_local (current 8-bit character set, from LANG env var) wxConv_current: pointer to conversion class. Points by default to wxConv_local, but it's meant to be able to be redirected by the user (and wxGTK can point it at wxConv_UTF8 if it manages to set the UTF-8 locale). mbc_str() returns mb_str(*wxConv_current) for convenience. I will use mbc_str() in my upcoming wxGTK adaption. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -58,7 +58,7 @@ void name::Empty() \
|
||||
\
|
||||
void name::Remove(size_t uiIndex) \
|
||||
{ \
|
||||
wxCHECK_RET( uiIndex < Count(), "bad index in " #name "::Remove()" ); \
|
||||
wxCHECK_RET( uiIndex < Count(), _T("bad index in " #name "::Remove()") ); \
|
||||
\
|
||||
delete (T*)wxBaseArray::Item(uiIndex); \
|
||||
\
|
||||
|
@@ -216,10 +216,11 @@ WXDLLEXPORT_DATA(extern wxANOTHER_MBCONV(wxMBConv_UTF8)) wxConv_UTF8;
|
||||
WXDLLEXPORT_DATA(extern wxANOTHER_MBCONV(wxMBConv_gdk)) wxConv_gdk;
|
||||
#endif
|
||||
|
||||
class wxCharacterSet;
|
||||
class WXDLLEXPORT wxCSConv : public wxMBConv
|
||||
{
|
||||
private:
|
||||
wxChar *data;
|
||||
wxCharacterSet *cset;
|
||||
public:
|
||||
wxCSConv(const wxChar *charset);
|
||||
virtual ~wxCSConv(void);
|
||||
@@ -227,6 +228,10 @@ class WXDLLEXPORT wxCSConv : public wxMBConv
|
||||
virtual size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const;
|
||||
};
|
||||
|
||||
WXDLLEXPORT_DATA(extern wxCSConv) wxConv_local;
|
||||
|
||||
WXDLLEXPORT_DATA(extern wxMBConv *) wxConv_current;
|
||||
|
||||
// filenames are multibyte on Unix and probably widechar on Windows?
|
||||
#ifdef __UNIX__
|
||||
#define wxMBFILES 1
|
||||
@@ -450,6 +455,8 @@ public:
|
||||
const wxWCharBuffer wc_str(wxMBConv& conv) const { return conv.cMB2WC(m_pchData); }
|
||||
const wxChar* fn_str() const { return m_pchData; }
|
||||
#endif
|
||||
// for convenience
|
||||
const wxWX2MBbuf mbc_str() const { return mb_str(*wxConv_current); }
|
||||
|
||||
// overloaded assignment
|
||||
// from another wxString
|
||||
|
Reference in New Issue
Block a user