ANSI+Unicode compatibility fixes to wxArrayString

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-06-28 18:56:00 +00:00
parent 3a0b1f421f
commit cfa3d7ba83
3 changed files with 19 additions and 7 deletions

View File

@@ -67,7 +67,9 @@ Default constructor.
Copy constructor. Note that when an array is assigned to a sorted array, its contents is Copy constructor. Note that when an array is assigned to a sorted array, its contents is
automatically sorted during construction. automatically sorted during construction.
\func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const wxChar**}{ arr}} \func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const char**}{ arr}}
\func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const wchar\_t**}{ arr}}
Constructor from a C string array. Pass a size {\it sz} and array {\it arr}. Constructor from a C string array. Pass a size {\it sz} and array {\it arr}.
@@ -163,7 +165,7 @@ Returns the number of items in the array.
\membersection{wxArrayString::Index}\label{wxarraystringindex} \membersection{wxArrayString::Index}\label{wxarraystringindex}
\func{int}{Index}{\param{const wxChar *}{ sz}, \param{bool}{ bCase = true}, \param{bool}{ bFromEnd = false}} \func{int}{Index}{\param{const wxString\& }{ sz}, \param{bool}{ bCase = true}, \param{bool}{ bFromEnd = false}}
Search the element in the array, starting from the beginning if Search the element in the array, starting from the beginning if
{\it bFromEnd} is false or from end otherwise. If {\it bCase}, comparison is {\it bFromEnd} is false or from end otherwise. If {\it bCase}, comparison is
@@ -221,7 +223,7 @@ are done in release mode.
\membersection{wxArrayString::Remove}\label{wxarraystringremove} \membersection{wxArrayString::Remove}\label{wxarraystringremove}
\func{void}{Remove}{\param{const wxChar *}{ sz}} \func{void}{Remove}{\param{const wxString\&}{ sz}}
Removes the first item matching this value. An assert failure is provoked by Removes the first item matching this value. An assert failure is provoked by
an attempt to remove an element which does not exist in debug build. an attempt to remove an element which does not exist in debug build.

View File

@@ -104,7 +104,8 @@ public:
// supported it... // supported it...
wxArrayString(int autoSort) { Init(autoSort != 0); } wxArrayString(int autoSort) { Init(autoSort != 0); }
// C string array ctor // C string array ctor
wxArrayString(size_t sz, const wxChar** a); wxArrayString(size_t sz, const char** a);
wxArrayString(size_t sz, const wchar_t** a);
// wxString string array ctor // wxString string array ctor
wxArrayString(size_t sz, const wxString* a); wxArrayString(size_t sz, const wxString* a);
// copy ctor // copy ctor
@@ -167,7 +168,7 @@ public:
// expand the array to have count elements // expand the array to have count elements
void SetCount(size_t count); void SetCount(size_t count);
// remove first item matching this value // remove first item matching this value
void Remove(const wxChar *sz); void Remove(const wxString& sz);
// remove item by index // remove item by index
void RemoveAt(size_t nIndex, size_t nRemove = 1); void RemoveAt(size_t nIndex, size_t nRemove = 1);

View File

@@ -27,7 +27,16 @@
// ArrayString // ArrayString
// ============================================================================ // ============================================================================
wxArrayString::wxArrayString(size_t sz, const wxChar** a) wxArrayString::wxArrayString(size_t sz, const char** a)
{
#if !wxUSE_STL
Init(false);
#endif
for (size_t i=0; i < sz; i++)
Add(a[i]);
}
wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
{ {
#if !wxUSE_STL #if !wxUSE_STL
Init(false); Init(false);
@@ -355,7 +364,7 @@ void wxArrayString::RemoveAt(size_t nIndex, size_t nRemove)
} }
// removes item from array (by value) // removes item from array (by value)
void wxArrayString::Remove(const wxChar *sz) void wxArrayString::Remove(const wxString& sz)
{ {
int iIndex = Index(sz); int iIndex = Index(sz);