X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..bbc1265c400d44962621a6b2c7c36ccff097207c:/include/wx/list.h diff --git a/include/wx/list.h b/include/wx/list.h index ed182de01f..42fd54b6ad 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -6,7 +6,7 @@ // Created: 29/01/98 // RCS-ID: $Id$ // Copyright: (c) 1998 Julian Smart -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /* @@ -155,10 +155,10 @@ public: void SetKeyInteger(long i) { m_key.integer = i; } #ifdef wxLIST_COMPATIBILITY - // compatibility methods - wxNode *Next() const { return (wxNode *)GetNext(); } - wxNode *Previous() const { return (wxNode *)GetPrevious(); } - wxObject *Data() const { return (wxObject *)GetData(); } + // compatibility methods, use Get* instead. + wxDEPRECATED( wxNode *Next() const ); + wxDEPRECATED( wxNode *Previous() const ); + wxDEPRECATED( wxObject *Data() const ); #endif // wxLIST_COMPATIBILITY protected: @@ -191,6 +191,8 @@ private: // a double-linked list class // ----------------------------------------------------------------------------- +class wxList; + class WXDLLEXPORT wxListBase : public wxObject { friend class WXDLLEXPORT wxNodeBase; // should be able to call DetachNode() @@ -232,10 +234,14 @@ public: { wxASSERT( m_count==0 ); m_keyType = keyType; } #ifdef wxLIST_COMPATIBILITY - int Number() const { return GetCount(); } - wxNode *First() const { return (wxNode *)GetFirst(); } - wxNode *Last() const { return (wxNode *)GetLast(); } - wxNode *Nth(size_t n) const { return (wxNode *)Item(n); } + // compatibility methods from old wxList + wxDEPRECATED( int Number() const ); // use GetCount instead. + wxDEPRECATED( wxNode *First() const ); // use GetFirst + wxDEPRECATED( wxNode *Last() const ); // use GetLast + wxDEPRECATED( wxNode *Nth(size_t n) const ); // use Item + + // kludge for typesafe list migration in core classes. + wxDEPRECATED( operator wxList&() const ); #endif // wxLIST_COMPATIBILITY protected: @@ -502,6 +508,9 @@ private: #ifdef wxLIST_COMPATIBILITY +// define this to make a lot of noise about use of the old wxList classes. +//#define wxWARN_COMPAT_LIST_USE + // ----------------------------------------------------------------------------- // wxList compatibility class: in fact, it's a list of wxObjects // ----------------------------------------------------------------------------- @@ -511,7 +520,12 @@ WX_DECLARE_LIST_2(wxObject, wxObjectList, wxObjectListNode, class WXDLLEXPORT); class WXDLLEXPORT wxList : public wxObjectList { public: - wxList(int key_type = wxKEY_NONE) : wxObjectList((wxKeyType)key_type) { } +#ifdef wxWARN_COMPAT_LIST_USE + wxDEPRECATED( wxList(int key_type = wxKEY_NONE) ); +#else + wxList(int key_type = wxKEY_NONE); +#endif + // this destructor is required for Darwin ~wxList() { } @@ -538,8 +552,13 @@ class WXDLLEXPORT wxStringList : public wxStringListBase public: // ctors and such // default - wxStringList() { DeleteContents(TRUE); } +#ifdef wxWARN_COMPAT_LIST_USE + wxDEPRECATED( wxStringList() ); + wxDEPRECATED( wxStringList(const wxChar *first ...) ); +#else + wxStringList(); wxStringList(const wxChar *first ...); +#endif // copying the string list: the strings are copied, too (extremely // inefficient!)