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