X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e90c1d2a19361551eb07778280f22be3e759cf64..c109ef116daa1e8d35f5bba0c0007dcef86c56aa:/include/wx/arrimpl.cpp

diff --git a/include/wx/arrimpl.cpp b/include/wx/arrimpl.cpp
index 22a1239098..8c975cdbb9 100644
--- a/include/wx/arrimpl.cpp
+++ b/include/wx/arrimpl.cpp
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        listimpl.cpp
+// Name:        wx/arrimpl.cpp
 // Purpose:     helper file for implementation of dynamic lists
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -21,7 +21,13 @@
  *****************************************************************************/
 
 // needed to resolve the conflict between global T and macro parameter T
-#define _WX_ERROR_REMOVE2(x)     T("bad index in " #x "::Remove()")
+
+// VC++ can't cope with string concatenation in Unicode mode
+#if defined(wxUSE_UNICODE) && wxUSE_UNICODE
+#define _WX_ERROR_REMOVE2(x)     wxT("bad index in ::RemoveAt()")
+#else
+#define _WX_ERROR_REMOVE2(x)     wxT("bad index in " #x "::RemoveAt()")
+#endif
 
 // macro implements remaining (not inline) methods of template list
 // (it's private to this file)
@@ -51,21 +57,19 @@ name::name(const name& src)                                                   \
   DoCopy(src);                                                                \
 }                                                                             \
                                                                               \
-void name::Empty()                                                            \
+void name::DoEmpty()                                                          \
 {                                                                             \
   for ( size_t ui = 0; ui < Count(); ui++ )                                   \
-    delete (T*)wxBaseArray::Item(ui);                                         \
-                                                                              \
-  wxBaseArray::Clear();                                                       \
+    delete (T*)wxBaseArrayPtrVoid::Item(ui);                                  \
 }                                                                             \
                                                                               \
-void name::Remove(size_t uiIndex)                                             \
+void name::RemoveAt(size_t uiIndex)                                           \
 {                                                                             \
   wxCHECK_RET( uiIndex < Count(), _WX_ERROR_REMOVE2(name) );                  \
                                                                               \
-  delete (T*)wxBaseArray::Item(uiIndex);                                      \
+  delete (T*)wxBaseArrayPtrVoid::Item(uiIndex);                               \
                                                                               \
-  wxBaseArray::Remove(uiIndex);                                               \
+  wxBaseArrayPtrVoid::RemoveAt(uiIndex);                                      \
 }                                                                             \
                                                                               \
 void name::Add(const T& item)                                                 \
@@ -88,7 +92,7 @@ int name::Index(const T& Item, bool bFromEnd) const                           \
     if ( Count() > 0 ) {                                                      \
       size_t ui = Count() - 1;                                                \
       do {                                                                    \
-        if ( (T*)wxBaseArray::Item(ui) == &Item )                             \
+        if ( (T*)wxBaseArrayPtrVoid::Item(ui) == &Item )                      \
           return ui;                                                          \
         ui--;                                                                 \
       }                                                                       \
@@ -97,7 +101,7 @@ int name::Index(const T& Item, bool bFromEnd) const                           \
   }                                                                           \
   else {                                                                      \
     for( size_t ui = 0; ui < Count(); ui++ ) {                                \
-      if( (T*)wxBaseArray::Item(ui) == &Item )                                \
+      if( (T*)wxBaseArrayPtrVoid::Item(ui) == &Item )                         \
         return ui;                                                            \
     }                                                                         \
   }                                                                           \
@@ -108,4 +112,4 @@ int name::Index(const T& Item, bool bFromEnd) const                           \
 // redefine the macro so that now it will generate the class implementation
 // old value would provoke a compile-time error if this file is not included
 #undef  WX_DEFINE_OBJARRAY
-#define WX_DEFINE_OBJARRAY(name) _DEFINE_OBJARRAY(_L##name, name)
+#define WX_DEFINE_OBJARRAY(name) _DEFINE_OBJARRAY(_wxObjArray##name, name)