]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/strconv.h
include wx/object.h now that wxConfigBase derives from wxObject
[wxWidgets.git] / include / wx / strconv.h
index 134434405a3a8664b389e10b00f2916ac886381c..ba28c8a81ab8792f24578b14d76420418b49155f 100644 (file)
@@ -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