]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/objstrm.h
Reworked the undef stuff a little
[wxWidgets.git] / include / wx / objstrm.h
index dd6f56e710c802d1f97f003bc4c13049821bf024..699492671c183c6cb8369737e1b73ad322ad4feb 100644 (file)
@@ -8,8 +8,8 @@
 // Copyright:   (c) 1998 Guilhem Lavaux
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
-#ifndef __WXOBJSTRM_H__
-#define __WXOBJSTRM_H__
+#ifndef _WX_WXOBJSTRM_H__
+#define _WX_WXOBJSTRM_H__
 
 #ifdef __GNUG__
 #pragma interface
 class wxObjectStreamInfo : public wxObject {
  public:
   wxString object_name;
-  int n_children;
+  int n_children, children_removed;
   wxList children;
-  wxObject *parent;
+  wxObjectStreamInfo *parent;
   wxObject *object;
+  bool duplicate, recall;
 };
 
 class wxObjectOutputStream : public wxFilterOutputStream {
@@ -49,14 +50,21 @@ class wxObjectOutputStream : public wxFilterOutputStream {
   int m_stage;
   bool m_saving;
   wxObjectStreamInfo *m_current_info;
+  wxList m_saved_objs;
 };
 
 class wxObjectInputStream : public wxFilterInputStream {
  public:
   wxObjectInputStream(wxInputStream& s);
 
+  bool SecondCall() const { return m_secondcall; }
+  void Recall(bool on = TRUE) { m_current_info->recall = on; }
+
   wxObject *GetChild(int no) const;
-  wxObject *GetParent() const { return m_current_info->parent; }
+  wxObject *GetChild();
+  int NumberOfChildren() const { return m_current_info->n_children; }
+  void RemoveChildren(int nb);
+  wxObject *GetParent() const;
   wxObject *LoadObject();
 
   wxObject *SolveName(const wxString& objName) const;
@@ -67,6 +75,7 @@ class wxObjectInputStream : public wxFilterInputStream {
   void ProcessObjectData(wxObjectStreamInfo *info);
 
  protected:
+  bool m_secondcall;
   wxObjectStreamInfo *m_current_info;
   wxList m_solver;
 };