]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/objstrm.cpp
Implemented wxArrayString::Shrink() and stuff.
[wxWidgets.git] / src / common / objstrm.cpp
index 07fa7f9a19b7e8415d7da1ff7b3fe75316ef449e..6f6c6e607f8942ddc02d2b6da1595d64ad29d1f2 100644 (file)
 #pragma implementation "objstrm.h"
 #endif
 
 #pragma implementation "objstrm.h"
 #endif
 
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/defs.h"
+#include "wx/setup.h"
+#endif
+
+#if wxUSE_SERIAL
+
 #include "wx/object.h"
 #include "wx/objstrm.h"
 #include "wx/datstrm.h"
 #include "wx/object.h"
 #include "wx/objstrm.h"
 #include "wx/datstrm.h"
@@ -36,7 +50,7 @@ wxString wxObjectOutputStream::GetObjectName(wxObject *obj)
 {
   wxString name;
 
 {
   wxString name;
 
-  name.Printf("%x", (unsigned long)obj);
+  name.Printf(_T("%x"), (unsigned long)obj);
   return name;
 }
 
   return name;
 }
 
@@ -49,13 +63,16 @@ void wxObjectOutputStream::WriteObjectDef(wxObjectStreamInfo& info)
   if (info.duplicate) {
     data_s.WriteString(TAG_DUPLICATE_OBJECT);
     data_s.WriteString(GetObjectName(info.object));
   if (info.duplicate) {
     data_s.WriteString(TAG_DUPLICATE_OBJECT);
     data_s.WriteString(GetObjectName(info.object));
+    wxPrintf(_T("info.object (dup %s)\n"), info.object->GetClassInfo()->GetClassName());
     return;
   }
 
   if (info.object) {
     data_s.WriteString(info.object->GetClassInfo()->GetClassName());
     return;
   }
 
   if (info.object) {
     data_s.WriteString(info.object->GetClassInfo()->GetClassName());
+    wxPrintf(_T("info.object (%s)\n"), info.object->GetClassInfo()->GetClassName());
   } else {
     data_s.WriteString(TAG_EMPTY_OBJECT);
   } else {
     data_s.WriteString(TAG_EMPTY_OBJECT);
+    wxPrintf(_T("info.object (NULL)\n"));
     return;
   }
 
     return;
   }
 
@@ -160,6 +177,7 @@ bool wxObjectOutputStream::SaveObject(wxObject& obj)
 wxObjectInputStream::wxObjectInputStream(wxInputStream& s)
   : wxFilterInputStream(s)
 {
 wxObjectInputStream::wxObjectInputStream(wxInputStream& s)
   : wxFilterInputStream(s)
 {
+  m_secondcall = FALSE;
 }
 
 wxObject *wxObjectInputStream::SolveName(const wxString& name) const
 }
 
 wxObject *wxObjectInputStream::SolveName(const wxString& name) const
@@ -230,13 +248,13 @@ bool wxObjectInputStream::ReadObjectDef(wxObjectStreamInfo *info)
 
   class_name = data_s.ReadString();
   info->children_removed = 0;
 
   class_name = data_s.ReadString();
   info->children_removed = 0;
+  info->n_children = 0;
 
   if (class_name == TAG_EMPTY_OBJECT)
     info->object = (wxObject *) NULL;
   else if (class_name == TAG_DUPLICATE_OBJECT) {
     info->object_name = data_s.ReadString();
     info->object = SolveName(info->object_name);
 
   if (class_name == TAG_EMPTY_OBJECT)
     info->object = (wxObject *) NULL;
   else if (class_name == TAG_DUPLICATE_OBJECT) {
     info->object_name = data_s.ReadString();
     info->object = SolveName(info->object_name);
-    info->n_children = 0;
   } else {
     info->object_name = data_s.ReadString();
     info->object = wxCreateDynamicObject( WXSTRINGCAST class_name);
   } else {
     info->object_name = data_s.ReadString();
     info->object = wxCreateDynamicObject( WXSTRINGCAST class_name);
@@ -307,3 +325,6 @@ wxObject *wxObjectInputStream::LoadObject()
 
   return object;
 }
 
   return object;
 }
+
+#endif
+