added wxCSConv::IsOk() (patch 1637944)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -94,6 +94,7 @@ Major new features in 2.8 release
|
|||||||
All:
|
All:
|
||||||
|
|
||||||
- Added wxSizerFlags::Shaped() and FixedMinSize() methods
|
- Added wxSizerFlags::Shaped() and FixedMinSize() methods
|
||||||
|
- Added wxCSConv::IsOk() (Manuel Martin)
|
||||||
- Added wxDateTime::GetDateOnly()
|
- Added wxDateTime::GetDateOnly()
|
||||||
- Made wxTextFile work with unseekable files again (David Hart)
|
- Made wxTextFile work with unseekable files again (David Hart)
|
||||||
|
|
||||||
|
@@ -32,8 +32,8 @@ default user character set.
|
|||||||
\func{}{wxCSConv}{\param{wxFontEncoding }{encoding}}
|
\func{}{wxCSConv}{\param{wxFontEncoding }{encoding}}
|
||||||
|
|
||||||
Constructor. You may specify either the name of the character set you want to
|
Constructor. You may specify either the name of the character set you want to
|
||||||
convert from/to or an encoding constant. If the character set name is not
|
convert from/to or an encoding constant. If the character set name (or the
|
||||||
recognized, ISO 8859-1 is used as fall back.
|
encoding) is not recognized, ISO 8859-1 is used as fall back.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxCSConv::\destruct{wxCSConv}}\label{wxcsconvdtor}
|
\membersection{wxCSConv::\destruct{wxCSConv}}\label{wxcsconvdtor}
|
||||||
@@ -43,12 +43,26 @@ recognized, ISO 8859-1 is used as fall back.
|
|||||||
Destructor frees any resources needed to perform the conversion.
|
Destructor frees any resources needed to perform the conversion.
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxCSConv::IsOk}\label{wxcsconvisok}
|
||||||
|
|
||||||
|
\constfunc{bool}{IsOk}{\void}
|
||||||
|
|
||||||
|
Returns \true if the charset (or the encoding) given at constructor is really
|
||||||
|
available to use. Returns \false if ISO 8859-1 will be used instead.
|
||||||
|
|
||||||
|
Note this does \emph{not} mean that a given string will be correctly converted.
|
||||||
|
A malformed string may still make conversion functions return \texttt{wxCONV\_FAILED}.
|
||||||
|
|
||||||
|
\newsince{2.8.2}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxCSConv::MB2WC}\label{wxcsconvmb2wc}
|
\membersection{wxCSConv::MB2WC}\label{wxcsconvmb2wc}
|
||||||
|
|
||||||
\constfunc{size\_t}{MB2WC}{\param{wchar\_t* }{buf}, \param{const char* }{psz}, \param{size\_t }{n}}
|
\constfunc{size\_t}{MB2WC}{\param{wchar\_t* }{buf}, \param{const char* }{psz}, \param{size\_t }{n}}
|
||||||
|
|
||||||
Converts from the selected character set to Unicode. Returns length of string written to destination buffer.
|
Converts from the selected character set to Unicode. Returns length of string written to destination buffer.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxCSConv::WC2MB}\label{wxcsconvwc2mb}
|
\membersection{wxCSConv::WC2MB}\label{wxcsconvwc2mb}
|
||||||
|
|
||||||
\constfunc{size\_t}{WC2MB}{\param{char* }{buf}, \param{const wchar\_t* }{psz}, \param{size\_t }{n}}
|
\constfunc{size\_t}{WC2MB}{\param{char* }{buf}, \param{const wchar\_t* }{psz}, \param{size\_t }{n}}
|
||||||
|
@@ -385,6 +385,11 @@ public:
|
|||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
|
|
||||||
|
#if wxABI_VERSION >= 20802
|
||||||
|
// return true if the conversion could be initilized successfully
|
||||||
|
bool IsOk() const;
|
||||||
|
#endif // wx 2.8.2+
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
@@ -3518,6 +3518,19 @@ void wxCSConv::CreateConvIfNeeded() const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxCSConv::IsOk() const
|
||||||
|
{
|
||||||
|
CreateConvIfNeeded();
|
||||||
|
|
||||||
|
// special case: no convReal created for wxFONTENCODING_ISO8859_1
|
||||||
|
if ( m_encoding == wxFONTENCODING_ISO8859_1 )
|
||||||
|
return true; // always ok as we do it ourselves
|
||||||
|
|
||||||
|
// m_convReal->IsOk() is called at its own creation, so we know it must
|
||||||
|
// be ok if m_convReal is non-NULL
|
||||||
|
return m_convReal != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
size_t wxCSConv::ToWChar(wchar_t *dst, size_t dstLen,
|
size_t wxCSConv::ToWChar(wchar_t *dst, size_t dstLen,
|
||||||
const char *src, size_t srcLen) const
|
const char *src, size_t srcLen) const
|
||||||
{
|
{
|
||||||
|
@@ -59,6 +59,7 @@ private:
|
|||||||
CPPUNIT_TEST( ConversionUTF8 );
|
CPPUNIT_TEST( ConversionUTF8 );
|
||||||
CPPUNIT_TEST( ConversionUTF16 );
|
CPPUNIT_TEST( ConversionUTF16 );
|
||||||
CPPUNIT_TEST( ConversionUTF32 );
|
CPPUNIT_TEST( ConversionUTF32 );
|
||||||
|
CPPUNIT_TEST( IsConvOk );
|
||||||
#endif // wxUSE_WCHAR_T
|
#endif // wxUSE_WCHAR_T
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
@@ -71,6 +72,7 @@ private:
|
|||||||
void ConversionUTF8();
|
void ConversionUTF8();
|
||||||
void ConversionUTF16();
|
void ConversionUTF16();
|
||||||
void ConversionUTF32();
|
void ConversionUTF32();
|
||||||
|
void IsConvOk();
|
||||||
|
|
||||||
// test if converting s using the given encoding gives ws and vice versa
|
// test if converting s using the given encoding gives ws and vice versa
|
||||||
//
|
//
|
||||||
@@ -317,5 +319,16 @@ void UnicodeTestCase::ConversionUTF32()
|
|||||||
CPPUNIT_ASSERT_EQUAL( (size_t)3, len );
|
CPPUNIT_ASSERT_EQUAL( (size_t)3, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UnicodeTestCase::IsConvOk()
|
||||||
|
{
|
||||||
|
CPPUNIT_ASSERT( wxCSConv(wxFONTENCODING_SYSTEM).IsOk() );
|
||||||
|
CPPUNIT_ASSERT( wxCSConv(_T("UTF-8")).IsOk() );
|
||||||
|
CPPUNIT_ASSERT( !wxCSConv(_T("NoSuchConversion")).IsOk() );
|
||||||
|
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
CPPUNIT_ASSERT( wxCSConv(_T("WINDOWS-437")).IsOk() );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_WCHAR_T
|
#endif // wxUSE_WCHAR_T
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user