]> git.saurik.com Git - wxWidgets.git/commitdiff
added CanConvert()
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 13 Oct 2003 23:47:22 +0000 (23:47 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 13 Oct 2003 23:47:22 +0000 (23:47 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/encconv.tex
include/wx/encconv.h

index e5c2e0f021ea0f66edc1bdd506fbd17a9c652436..0548703ba1eb44ede11206c4284c32b5d12e3677 100644 (file)
@@ -37,12 +37,14 @@ if you rely on {\tt wxCONVERT\_SUBSTITUTE} mode of operation (see
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxEncodingConverter::wxEncodingConverter}\label{wxencodingconverterwxencodingconverter}
 
 \func{}{wxEncodingConverter}{\void}
 
 Constructor.
 
+
 \membersection{wxEncodingConverter::Init}\label{wxencodingconverterinit}
 
 \func{bool}{Init}{\param{wxFontEncoding }{input\_enc}, \param{wxFontEncoding }{output\_enc}, \param{int }{method = wxCONVERT\_STRICT}}
@@ -77,6 +79,19 @@ false if given conversion is impossible, true otherwise
 to Unicode with non-Unicode build of wxWindows or if input
 or output encoding is not supported.)
 
+
+\membersection{wxEncodingConverter::CanConvert}\label{wxencodingconvertercanconvert}
+
+\func{static bool}{CanConvert}{\param{wxFontEncoding}{encIn}, \param{wxFontEncoding }{encOut}}
+
+Return true if (any text in) multibyte encoding \arg{encIn} can be converted to
+another one (\it{encOut}) losslessly.
+
+Do not call this method with \texttt{wxFONTENCODING\_UNICODE} as either
+parameter, it doesn't make sense (always works in one sense and always depends
+on the text to convert in the other).
+
+
 \membersection{wxEncodingConverter::Convert}\label{wxencodingconverterconvert}
 
 \constfunc{void}{Convert}{\param{const char* }{input}, \param{char* }{output}}
@@ -109,6 +124,7 @@ You must call \helpref{Init}{wxencodingconverterinit} before using this method!
 {\tt wchar\_t} versions of the method are not available if wxWindows was compiled
 with {\tt wxUSE\_WCHAR\_T} set to 0.
 
+
 \membersection{wxEncodingConverter::GetPlatformEquivalents}\label{wxencodingconvertergetplatformequivalents}
 
 \func{static wxFontEncodingArray}{GetPlatformEquivalents}{\param{wxFontEncoding }{enc}, \param{int }{platform = wxPLATFORM\_CURRENT}}
@@ -162,6 +178,7 @@ item of it.
 \item Please note that the returned array may contain no items at all.
 \end{itemize}
 
+
 \membersection{wxEncodingConverter::GetAllEquivalents}\label{wxencodingconvertergetallequivalents}
 
 \func{static wxFontEncodingArray}{GetAllEquivalents}{\param{wxFontEncoding }{enc}}
index 2af9a9b5973a77f31826b07bbd9e61c4f1a99be0..5bf29e747060d0b0efdebb6e17f678562dbb4a84 100644 (file)
@@ -138,6 +138,17 @@ class WXDLLIMPEXP_BASE wxEncodingConverter : public wxObject
             // equivalent encodings, regardless the platform, including itself.
             static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc);
 
+            // Return true if [any text in] one multibyte encoding can be
+            // converted to another one losslessly.
+            //
+            // Do not call this with wxFONTENCODING_UNICODE, it doesn't make
+            // sense (always works in one sense and always depends on the text
+            // to convert in the other)
+            static bool CanConvert(wxFontEncoding encIn, wxFontEncoding encOut)
+            {
+                return GetAllEquivalents(encIn).Find(encOut) != wxNOT_FOUND;
+            }
+
     private:
 
 #if wxUSE_WCHAR_T