From cfa3d7ba83b57ac7a9fa6b79ae73ef9cebcb55f4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Thu, 28 Jun 2007 18:56:00 +0000 Subject: [PATCH] ANSI+Unicode compatibility fixes to wxArrayString git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/arrstrng.tex | 8 +++++--- include/wx/arrstr.h | 5 +++-- src/common/arrstr.cpp | 13 +++++++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/docs/latex/wx/arrstrng.tex b/docs/latex/wx/arrstrng.tex index a91d710d9d..fa2bb0af50 100644 --- a/docs/latex/wx/arrstrng.tex +++ b/docs/latex/wx/arrstrng.tex @@ -67,7 +67,9 @@ Default constructor. Copy constructor. Note that when an array is assigned to a sorted array, its contents is 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}. @@ -163,7 +165,7 @@ Returns the number of items in the array. \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 {\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} -\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 an attempt to remove an element which does not exist in debug build. diff --git a/include/wx/arrstr.h b/include/wx/arrstr.h index d1e893cd3d..7c7b29290c 100644 --- a/include/wx/arrstr.h +++ b/include/wx/arrstr.h @@ -104,7 +104,8 @@ public: // supported it... wxArrayString(int autoSort) { Init(autoSort != 0); } // 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 wxArrayString(size_t sz, const wxString* a); // copy ctor @@ -167,7 +168,7 @@ public: // expand the array to have count elements void SetCount(size_t count); // remove first item matching this value - void Remove(const wxChar *sz); + void Remove(const wxString& sz); // remove item by index void RemoveAt(size_t nIndex, size_t nRemove = 1); diff --git a/src/common/arrstr.cpp b/src/common/arrstr.cpp index ec41806616..fe36a74bf8 100644 --- a/src/common/arrstr.cpp +++ b/src/common/arrstr.cpp @@ -27,7 +27,16 @@ // 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 Init(false); @@ -355,7 +364,7 @@ void wxArrayString::RemoveAt(size_t nIndex, size_t nRemove) } // removes item from array (by value) -void wxArrayString::Remove(const wxChar *sz) +void wxArrayString::Remove(const wxString& sz) { int iIndex = Index(sz); -- 2.45.2