]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/list.h
create the DIBs in correct (and not down up) line order
[wxWidgets.git] / include / wx / list.h
index ed182de01f3c44ef4a98dd98775b2953605260e1..42fd54b6ad1c0c1071a9fe2cb102c9283708471c 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     29/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
 // 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
     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:
 #endif // wxLIST_COMPATIBILITY
 
 protected:
@@ -191,6 +191,8 @@ private:
 // a double-linked list class
 // -----------------------------------------------------------------------------
 
 // a double-linked list class
 // -----------------------------------------------------------------------------
 
+class wxList;
+
 class WXDLLEXPORT wxListBase : public wxObject
 {
 friend class WXDLLEXPORT wxNodeBase; // should be able to call DetachNode()
 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
         { 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:
 #endif // wxLIST_COMPATIBILITY
 
 protected:
@@ -502,6 +508,9 @@ private:
 
 #ifdef wxLIST_COMPATIBILITY
 
 
 #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
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
 // 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:
 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() { }
 
     // this destructor is required for Darwin
    ~wxList() { }
 
@@ -538,8 +552,13 @@ class WXDLLEXPORT wxStringList : public wxStringListBase
 public:
     // ctors and such
         // default
 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 ...);
     wxStringList(const wxChar *first ...);
+#endif
 
         // copying the string list: the strings are copied, too (extremely
         // inefficient!)
 
         // copying the string list: the strings are copied, too (extremely
         // inefficient!)