X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/35d11700a5c88842e01e426a53d25ce1a3ecdffd..d7e918b594dccaada636fb2dd99081bc89e99db6:/include/wx/strconv.h?ds=inline diff --git a/include/wx/strconv.h b/include/wx/strconv.h index 134434405a..ba28c8a81a 100644 --- a/include/wx/strconv.h +++ b/include/wx/strconv.h @@ -191,7 +191,8 @@ class WXDLLIMPEXP_BASE wxConvBrokenFileNames : public wxMBConv public: wxConvBrokenFileNames(const wxChar *charset); wxConvBrokenFileNames(const wxConvBrokenFileNames& conv) - : m_conv(conv.m_conv ? conv.m_conv->Clone() : NULL) + : wxMBConv(), + m_conv(conv.m_conv ? conv.m_conv->Clone() : NULL) { } virtual ~wxConvBrokenFileNames() { delete m_conv; } @@ -372,13 +373,21 @@ public: wxCSConv& operator=(const wxCSConv& conv); + virtual size_t ToWChar(wchar_t *dst, size_t dstLen, + const char *src, size_t srcLen = wxNO_LEN) const; + virtual size_t FromWChar(char *dst, size_t dstLen, + const wchar_t *src, size_t srcLen = wxNO_LEN) const; virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const; virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const; virtual size_t GetMBNulLen() const; + virtual wxMBConv *Clone() const { return new wxCSConv(*this); } void Clear(); + // return true if the conversion could be initilized successfully + bool IsOk() const; + private: // common part of all ctors void Init(); @@ -434,9 +443,14 @@ extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvFileName; // default in a couple of places inside wx (initially same as wxConvLibc) extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvCurrent; -// ??? +// the conversion corresponding to the current locale extern WXDLLIMPEXP_DATA_BASE(wxCSConv&) wxConvLocal; +// the conversion corresponding to the encoding of the standard UI elements +// +// by default this is the same as wxConvLocal but may be changed if the program +// needs to use a fixed encoding +extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvUI; // ---------------------------------------------------------------------------- // endianness-dependent conversions @@ -454,8 +468,8 @@ extern WXDLLIMPEXP_DATA_BASE(wxCSConv&) wxConvLocal; // filename conversion macros // ---------------------------------------------------------------------------- -// filenames are multibyte on Unix and probably widechar on Windows? -#if defined(__UNIX__) || defined(__BORLANDC__) || defined(__WXMAC__ ) +// filenames are multibyte on Unix and widechar on Windows +#if defined(__UNIX__) || defined(__WXMAC__) #define wxMBFILES 1 #else #define wxMBFILES 0