From f98bd52a3e896ffa49cf672ec1864f5b2906a0a9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 6 Feb 2002 01:38:08 +0000 Subject: [PATCH] added wxRTTI macros to wxList and wxStringList git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/list.h | 6 ++++++ src/common/list.cpp | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/include/wx/list.h b/include/wx/list.h index cfccbf371d..e166f1423c 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -186,6 +186,7 @@ private: // ----------------------------------------------------------------------------- // a double-linked list class // ----------------------------------------------------------------------------- + class WXDLLEXPORT wxListBase : public wxObject { friend class wxNodeBase; // should be able to call DetachNode() @@ -506,6 +507,9 @@ public: void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); } wxNode *Member(wxObject *object) const { return (wxNode *)Find(object); } + +private: + DECLARE_DYNAMIC_CLASS(wxList) }; // ----------------------------------------------------------------------------- @@ -543,6 +547,8 @@ public: private: void DoCopy(const wxStringList&); // common part of copy ctor and operator= + + DECLARE_DYNAMIC_CLASS(wxStringList) }; #endif // wxLIST_COMPATIBILITY diff --git a/src/common/list.cpp b/src/common/list.cpp index 018d554add..e94aa517a8 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -532,10 +532,18 @@ void wxListBase::Sort(const wxSortCompareFunction compfunc) delete[] objArray; } +// ============================================================================ +// compatibility section from now on +// ============================================================================ + +#ifdef wxLIST_COMPATIBILITY + // ----------------------------------------------------------------------------- // wxList (a.k.a. wxObjectList) // ----------------------------------------------------------------------------- +IMPLEMENT_DYNAMIC_CLASS(wxList, wxObject) + void wxObjectListNode::DeleteData() { delete (wxObject *)GetData(); @@ -545,6 +553,8 @@ void wxObjectListNode::DeleteData() // wxStringList // ----------------------------------------------------------------------------- +IMPLEMENT_DYNAMIC_CLASS(wxStringList, wxObject) + // instead of WX_DEFINE_LIST(wxStringListBase) we define this function // ourselves void wxStringListNode::DeleteData() @@ -670,3 +680,6 @@ void wxStringList::Sort() delete [] array; } + +#endif // wxLIST_COMPATIBILITY + -- 2.45.2