]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/docvwmdi/doc.cpp
revisions contributed by Utensil Candel
[wxWidgets.git] / samples / docvwmdi / doc.cpp
index 4b7ee90dae1ecc8c461e492608506ecb6cc5803e..cba38cb4979fb96f7432463c832b7b07ee86369b 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-// #pragma implementation
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
 #ifndef WX_PRECOMP
 #include "wx/wx.h"
 #endif
 #ifndef WX_PRECOMP
 #include "wx/wx.h"
 #endif
-#include "wx/txtstrm.h"
 
 #if !wxUSE_DOC_VIEW_ARCHITECTURE
 #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h!
 #endif
 
 
 #if !wxUSE_DOC_VIEW_ARCHITECTURE
 #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h!
 #endif
 
+#if wxUSE_STD_IOSTREAM
+    #include "wx/ioswrap.h"
+#else
+    #include "wx/txtstrm.h"
+#endif
+
 #include "doc.h"
 #include "view.h"
 
 IMPLEMENT_DYNAMIC_CLASS(DrawingDocument, wxDocument)
 
 #include "doc.h"
 #include "view.h"
 
 IMPLEMENT_DYNAMIC_CLASS(DrawingDocument, wxDocument)
 
-DrawingDocument::DrawingDocument(void)
-{
-}
-
 DrawingDocument::~DrawingDocument(void)
 {
   WX_CLEAR_LIST(wxList, doodleSegments);
 DrawingDocument::~DrawingDocument(void)
 {
   WX_CLEAR_LIST(wxList, doodleSegments);
@@ -47,20 +44,20 @@ DrawingDocument::~DrawingDocument(void)
 wxSTD ostream& DrawingDocument::SaveObject(wxSTD ostream& stream)
 {
   wxDocument::SaveObject(stream);
 wxSTD ostream& DrawingDocument::SaveObject(wxSTD ostream& stream)
 {
   wxDocument::SaveObject(stream);
-  
+
   wxInt32 n = doodleSegments.GetCount();
   stream << n << _T('\n');
   wxInt32 n = doodleSegments.GetCount();
   stream << n << _T('\n');
-  
+
   wxList::compatibility_iterator node = doodleSegments.GetFirst();
   while (node)
   {
     DoodleSegment *segment = (DoodleSegment *)node->GetData();
     segment->SaveObject(stream);
     stream << _T('\n');
   wxList::compatibility_iterator node = doodleSegments.GetFirst();
   while (node)
   {
     DoodleSegment *segment = (DoodleSegment *)node->GetData();
     segment->SaveObject(stream);
     stream << _T('\n');
-    
+
     node = node->GetNext();
   }
     node = node->GetNext();
   }
-  
+
   return stream;
 }
 #else
   return stream;
 }
 #else
@@ -72,17 +69,17 @@ wxOutputStream& DrawingDocument::SaveObject(wxOutputStream& stream)
 
   wxInt32 n = doodleSegments.GetCount();
   text_stream << n << _T('\n');
 
   wxInt32 n = doodleSegments.GetCount();
   text_stream << n << _T('\n');
-  
+
   wxList::compatibility_iterator node = doodleSegments.GetFirst();
   while (node)
   {
     DoodleSegment *segment = (DoodleSegment *)node->GetData();
     segment->SaveObject(stream);
     text_stream << _T('\n');
   wxList::compatibility_iterator node = doodleSegments.GetFirst();
   while (node)
   {
     DoodleSegment *segment = (DoodleSegment *)node->GetData();
     segment->SaveObject(stream);
     text_stream << _T('\n');
-    
+
     node = node->GetNext();
   }
     node = node->GetNext();
   }
-  
+
   return stream;
 }
 #endif
   return stream;
 }
 #endif
@@ -91,7 +88,7 @@ wxOutputStream& DrawingDocument::SaveObject(wxOutputStream& stream)
 wxSTD istream& DrawingDocument::LoadObject(wxSTD istream& stream)
 {
   wxDocument::LoadObject(stream);
 wxSTD istream& DrawingDocument::LoadObject(wxSTD istream& stream)
 {
   wxDocument::LoadObject(stream);
-  
+
   wxInt32 n = 0;
   stream >> n;
 
   wxInt32 n = 0;
   stream >> n;
 
@@ -124,11 +121,9 @@ wxInputStream& DrawingDocument::LoadObject(wxInputStream& stream)
   return stream;
 }
 #endif
   return stream;
 }
 #endif
-DoodleSegment::DoodleSegment(void)
-{
-}
 
 
-DoodleSegment::DoodleSegment(DoodleSegment& seg)
+DoodleSegment::DoodleSegment(const DoodleSegment& seg)
+              :wxObject()
 {
   wxList::compatibility_iterator node = seg.lines.GetFirst();
   while (node)
 {
   wxList::compatibility_iterator node = seg.lines.GetFirst();
   while (node)
@@ -156,14 +151,14 @@ wxSTD ostream& DoodleSegment::SaveObject(wxSTD ostream& stream)
 {
   wxInt32 n = lines.GetCount();
   stream << n << _T('\n');
 {
   wxInt32 n = lines.GetCount();
   stream << n << _T('\n');
-  
+
   wxList::compatibility_iterator node = lines.GetFirst();
   while (node)
   {
     DoodleLine *line = (DoodleLine *)node->GetData();
   wxList::compatibility_iterator node = lines.GetFirst();
   while (node)
   {
     DoodleLine *line = (DoodleLine *)node->GetData();
-    stream << line->x1 << _T(" ") << 
-                   line->y1 << _T(" ") << 
-           line->x2 << _T(" ") << 
+    stream << line->x1 << _T(" ") <<
+                   line->y1 << _T(" ") <<
+           line->x2 << _T(" ") <<
            line->y2 << _T("\n");
     node = node->GetNext();
   }
            line->y2 << _T("\n");
     node = node->GetNext();
   }
@@ -177,14 +172,14 @@ wxOutputStream &DoodleSegment::SaveObject(wxOutputStream& stream)
 
   wxInt32 n = lines.GetCount();
   text_stream << n << _T('\n');
 
   wxInt32 n = lines.GetCount();
   text_stream << n << _T('\n');
-  
+
   wxList::compatibility_iterator node = lines.GetFirst();
   while (node)
   {
     DoodleLine *line = (DoodleLine *)node->GetData();
   wxList::compatibility_iterator node = lines.GetFirst();
   while (node)
   {
     DoodleLine *line = (DoodleLine *)node->GetData();
-    text_stream << line->x1 << _T(" ") << 
-                   line->y1 << _T(" ") << 
-           line->x2 << _T(" ") << 
+    text_stream << line->x1 << _T(" ") <<
+                   line->y1 << _T(" ") <<
+           line->x2 << _T(" ") <<
            line->y2 << _T("\n");
     node = node->GetNext();
   }
            line->y2 << _T("\n");
     node = node->GetNext();
   }
@@ -202,13 +197,13 @@ wxSTD istream& DoodleSegment::LoadObject(wxSTD istream& stream)
   for (int i = 0; i < n; i++)
   {
     DoodleLine *line = new DoodleLine;
   for (int i = 0; i < n; i++)
   {
     DoodleLine *line = new DoodleLine;
-    stream >> line->x1 >> 
-                   line->y1 >> 
-           line->x2 >> 
+    stream >> line->x1 >>
+                   line->y1 >>
+           line->x2 >>
            line->y2;
     lines.Append(line);
   }
            line->y2;
     lines.Append(line);
   }
-  
+
   return stream;
 }
 #else
   return stream;
 }
 #else
@@ -222,13 +217,13 @@ wxInputStream &DoodleSegment::LoadObject(wxInputStream& stream)
   for (int i = 0; i < n; i++)
   {
     DoodleLine *line = new DoodleLine;
   for (int i = 0; i < n; i++)
   {
     DoodleLine *line = new DoodleLine;
-    text_stream >> line->x1 >> 
-                   line->y1 >> 
-           line->x2 >> 
+    text_stream >> line->x1 >>
+                   line->y1 >>
+           line->x2 >>
            line->y2;
     lines.Append(line);
   }
            line->y2;
     lines.Append(line);
   }
-  
+
   return stream;
 }
 #endif
   return stream;
 }
 #endif
@@ -273,7 +268,7 @@ bool DrawingCommand::Do(void)
         wxList::compatibility_iterator node = doc->GetDoodleSegments().GetLast();
         if (segment)
           delete segment;
         wxList::compatibility_iterator node = doc->GetDoodleSegments().GetLast();
         if (segment)
           delete segment;
-          
+
         segment = (DoodleSegment *)node->GetData();
         doc->GetDoodleSegments().Erase(node);
 
         segment = (DoodleSegment *)node->GetData();
         doc->GetDoodleSegments().Erase(node);