DocumentIstream& DrawingDocument::LoadObject(DocumentIstream& istream) { #if wxUSE_STD_IOSTREAM DocumentIstream& stream = istream; #else wxTextInputStream stream(istream); #endif wxDocument::LoadObject(istream); wxInt32 count = 0; stream >> count; if ( count < 0 ) { wxLogWarning("Drawing document corrupted: invalid segments count."); #if wxUSE_STD_IOSTREAM istream.clear(std::ios::badbit); #else istream.Reset(wxSTREAM_READ_ERROR); #endif return istream; } for ( int n = 0; n < count; n++ ) { DoodleSegment segment; segment.LoadObject(istream); m_doodleSegments.push_back(segment); } return istream; }
wxSTD istream& DrawingDocument::LoadObject(wxSTD istream& stream) { wxDocument::LoadObject(stream); wxInt32 n = 0; stream >> n; for (int i = 0; i < n; i++) { DoodleSegment *segment = new DoodleSegment; segment->LoadObject(stream); doodleSegments.Append(segment); } return stream; }
DocumentIstream& DrawingDocument::LoadObject(DocumentIstream& istream) { #if wxUSE_STD_IOSTREAM DocumentIstream& stream = istream; #else wxTextInputStream stream(istream); #endif wxDocument::LoadObject(istream); wxInt32 count = 0; stream >> count; for ( int n = 0; n < count; n++ ) { DoodleSegment segment; segment.LoadObject(istream); m_doodleSegments.push_back(segment); } return istream; }