]> git.saurik.com Git - wxWidgets.git/commitdiff
Added GetStringArray method.
authorRon Lee <ron@debian.org>
Mon, 24 Dec 2001 11:16:46 +0000 (11:16 +0000)
committerRon Lee <ron@debian.org>
Mon, 24 Dec 2001 11:16:46 +0000 (11:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/string.h
src/common/string.cpp

index 098df32cf71f342f77cdd8bcf996e277d74848ff..ee258c42b97c22285c8a2cad9764dfee8e85d7b7 100644 (file)
@@ -1026,6 +1026,12 @@ public:
     // get last item
   wxString& Last() const { wxASSERT( !IsEmpty() ); return Item(Count() - 1); }
 
+    // return a wxString[], useful for the controls which
+    // take one in their ctor.  You must delete[] it yourself
+    // once you are done with it.  Will return NULL if the
+    // ArrayString was empty.
+  wxString* GetStringArray() const;
+
   // item management
     // Search the element in the array, starting from the beginning if
     // bFromEnd is FALSE or from end otherwise. If bCase, comparison is case
index b45a1482a020d4bf564b139456d0f1bda485f849..b1349cf7316ea4fb1b3fdb2e2176b423667242ac 100644 (file)
@@ -1894,10 +1894,11 @@ wxString& wxString::replace(size_t nStart, size_t nLen,
 // ArrayString
 // ============================================================================
 
-// size increment = max(50% of current size, ARRAY_MAXSIZE_INCREMENT)
+// size increment = min(50% of current size, ARRAY_MAXSIZE_INCREMENT)
 #define   ARRAY_MAXSIZE_INCREMENT       4096
+
 #ifndef   ARRAY_DEFAULT_INITIAL_SIZE    // also defined in dynarray.h
-  #define   ARRAY_DEFAULT_INITIAL_SIZE    (16)
+#define   ARRAY_DEFAULT_INITIAL_SIZE    (16)
 #endif
 
 #define   STRING(p)   ((wxString *)(&(p)))
@@ -2047,6 +2048,21 @@ void wxArrayString::Shrink()
   }
 }
 
+// return a wxString[] as required for some control ctors.
+wxString* wxArrayString::GetStringArray() const
+{
+    wxString *array = 0;
+
+    if( m_nCount > 0 )
+    {
+        array = new wxString[m_nCount];
+        for( size_t i = 0; i < m_nCount; i++ )
+            array[i] = m_pItems[i];
+    }
+
+    return array;
+}
+
 // searches the array for an item (forward or backwards)
 int wxArrayString::Index(const wxChar *sz, bool bCase, bool bFromEnd) const
 {