]> git.saurik.com Git - wxWidgets.git/commitdiff
More helpful Unicode stuff.
authorOve Kaaven <ovek@arcticnet.no>
Wed, 14 Apr 1999 19:56:54 +0000 (19:56 +0000)
committerOve Kaaven <ovek@arcticnet.no>
Wed, 14 Apr 1999 19:56:54 +0000 (19:56 +0000)
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

include/wx/arrimpl.cpp
include/wx/string.h

index 5131c7ac443f7b6916580b1699e54002e71e54a8..e7bca61b232ce90c7501a0435d558cdcc5348fce 100644 (file)
@@ -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);                                      \
                                                                               \
index bbcd039ea3392483e7bde30f3521dde58a5f0500..9ffc9d1a04dcae43d09b5b32ef2b09f0121b33d0 100644 (file)
@@ -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