]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/list.h
More wxMotif work, OGL enhancements, USE_ macro corrections, object.cpp delete
[wxWidgets.git] / include / wx / list.h
index a0c42e26bcd18d71d7565a3d789b52c014ca1ced..61466cd3aaffa5122fd1ed74dbef48b3a0c032fe 100644 (file)
@@ -9,8 +9,8 @@
 // Licence:    wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __LISTH__
-#define __LISTH__
+#ifndef _WX_LISTH__
+#define _WX_LISTH__
 
 #ifdef __GNUG__
 #pragma interface "list.h"
@@ -43,7 +43,7 @@ class WXDLLEXPORT wxNode: public wxObject
     char *string;
   } key;
 
-  wxNode(wxList *the_list = NULL, wxNode *last_one = NULL, wxNode *next_one = NULL, wxObject *object = NULL);
+  wxNode(wxList *the_list = (wxList *) NULL, wxNode *last_one = (wxNode *) NULL, wxNode *next_one = (wxNode *) NULL, wxObject *object = (wxObject *) NULL);
   wxNode(wxList *the_list, wxNode *last_one, wxNode *next_one,
          wxObject *object, long the_key);
   wxNode(wxList *the_list, wxNode *last_one, wxNode *next_one,
@@ -73,17 +73,13 @@ class WXDLLEXPORT wxList: public wxObject
 
   wxList(void);
   wxList(const unsigned int the_key_type);
-  wxList(const int N, wxObject *Objects[]);
+  wxList(int N, wxObject *Objects[]);
   wxList(wxObject *object, ...);
   
-#ifdef USE_STORABLE_CLASSES
-  wxList( istream &stream, char *data );
-  virtual void StoreObject( ostream &stream );
-#endif
-  
   ~wxList(void);
 
   inline int Number(void) const { return n; }
+  inline int GetCount(void) const { return n; }
 
   // Append to end of list
   wxNode *Append(wxObject *object);
@@ -95,26 +91,26 @@ class WXDLLEXPORT wxList: public wxObject
   wxNode *Insert(wxNode *position, wxObject *object);
 
   // Keyed append
-  wxNode *Append(const long key, wxObject *object);
+  wxNode *Append(long key, wxObject *object);
   wxNode *Append(const char *key, wxObject *object);
 
   bool DeleteNode(wxNode *node);
   bool DeleteObject(wxObject *object);  // Finds object pointer and
                                         // deletes node (and object if
                                         // DeleteContents is on)
-  void Clear(void);                     // Delete all nodes
+  virtual void Clear(void);             // Delete all nodes
 
   inline wxNode *First(void) const { return first_node; }
   inline wxNode *Last(void) const { return last_node; }
-  wxNode *Nth(const int i) const;                  // nth node counting from 0
+  wxNode *Nth(int i) const;                  // nth node counting from 0
 
   // Keyed search
-  wxNode *Find(const long key) const;
-  wxNode *Find(const char *key) const;
+  virtual wxNode *Find(long key) const;
+  virtual wxNode *Find(const char *key) const;
 
-  wxNode *Member(wxObject *object) const;
+  virtual wxNode *Member(wxObject *object) const;
 
-  inline void DeleteContents(const int destroy) { destroy_data = destroy; }
+  inline void DeleteContents(int destroy) { destroy_data = destroy; }
                                              // Instruct it to destroy user data
                                              // when deleting nodes
   // this function allows the sorting of arbitrary lists by giving
@@ -134,15 +130,19 @@ class WXDLLEXPORT wxStringList: public wxList
 
  public:
   wxStringList(void);
+  wxStringList(const wxStringList& list);
   wxStringList(const char *first ...);
   ~wxStringList(void);
 
   virtual wxNode *Add(const char *s);
   virtual void Delete(const char *s);
-  virtual char **ListToArray(const bool new_copies = FALSE) const;
+  virtual char **ListToArray(bool new_copies = FALSE) const;
   virtual void Sort(void);
   virtual bool Member(const char *s) const;
+  virtual void Clear(void);
+  void operator= (const wxStringList& list);
+  char* operator[] (int i) const;
 };
 
 #endif
-    // __LISTH__
+    // _WX_LISTH__