]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/strconv.h
derive wxConfig classes from wxObject and add wxRTTI macros to them (patch 1587607)
[wxWidgets.git] / include / wx / strconv.h
index 477c9de9679542e8b86990ee9f2fbff075e23f46..ba28c8a81ab8792f24578b14d76420418b49155f 100644 (file)
@@ -373,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();
@@ -438,6 +446,12 @@ 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