X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/903506828b7d042350eae97b5014a63ffca17ef5..95bcc40c745db8bcd392d06366436afb21964db6:/src/common/list.cpp diff --git a/src/common/list.cpp b/src/common/list.cpp index 018d554add..0eba6e5010 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -513,9 +513,9 @@ void wxListBase::Sort(const wxSortCompareFunction compfunc) // go through the list and put the pointers into the array wxNodeBase *node; - for ( node = GetFirst(); node; node = node->Next() ) + for ( node = GetFirst(); node; node = node->GetNext() ) { - *objPtr++ = node->Data(); + *objPtr++ = node->GetData(); } // sort the array @@ -523,7 +523,7 @@ void wxListBase::Sort(const wxSortCompareFunction compfunc) // put the sorted pointers back into the list objPtr = objArray; - for ( node = GetFirst(); node; node = node->Next() ) + for ( node = GetFirst(); node; node = node->GetNext() ) { node->SetData(*objPtr++); } @@ -532,10 +532,41 @@ void wxListBase::Sort(const wxSortCompareFunction compfunc) delete[] objArray; } +// ============================================================================ +// compatibility section from now on +// ============================================================================ + +#ifdef wxLIST_COMPATIBILITY + +// ----------------------------------------------------------------------------- +// wxNodeBase deprecated methods +// ----------------------------------------------------------------------------- + +wxNode *wxNodeBase::Next() const { return (wxNode *)GetNext(); } +wxNode *wxNodeBase::Previous() const { return (wxNode *)GetPrevious(); } +wxObject *wxNodeBase::Data() const { return (wxObject *)GetData(); } + +// ----------------------------------------------------------------------------- +// wxListBase deprecated methods +// ----------------------------------------------------------------------------- + +int wxListBase::Number() const { return GetCount(); } +wxNode *wxListBase::First() const { return (wxNode *)GetFirst(); } +wxNode *wxListBase::Last() const { return (wxNode *)GetLast(); } +wxNode *wxListBase::Nth(size_t n) const { return (wxNode *)Item(n); } +wxListBase::operator wxList&() const { return *(wxList*)this; } + // ----------------------------------------------------------------------------- // wxList (a.k.a. wxObjectList) // ----------------------------------------------------------------------------- +IMPLEMENT_DYNAMIC_CLASS(wxList, wxObject) + +wxList::wxList( int key_type ) + : wxObjectList( (wxKeyType)key_type ) +{ +} + void wxObjectListNode::DeleteData() { delete (wxObject *)GetData(); @@ -545,6 +576,8 @@ void wxObjectListNode::DeleteData() // wxStringList // ----------------------------------------------------------------------------- +IMPLEMENT_DYNAMIC_CLASS(wxStringList, wxObject) + // instead of WX_DEFINE_LIST(wxStringListBase) we define this function // ourselves void wxStringListNode::DeleteData() @@ -580,6 +613,11 @@ void wxStringList::DoCopy(const wxStringList& other) } } +wxStringList::wxStringList() +{ + DeleteContents(TRUE); +} + // Variable argument list, terminated by a zero // Makes new storage for the strings wxStringList::wxStringList (const wxChar *first, ...) @@ -670,3 +708,6 @@ void wxStringList::Sort() delete [] array; } + +#endif // wxLIST_COMPATIBILITY +