X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.cpp;h=03ad1138293dd42647bb123eedab51c0f4bac16c;hb=d3a6bf4aa2ccd32ed7671d1d97777dfc414df51d;hp=88e6ba59222e8f2f8c5dda1b7e6649bf73ace788;hpb=cbcb02ba9b76a82c9a09ce1c7712431bb215575a;p=ctsim.git diff --git a/src/docs.cpp b/src/docs.cpp index 88e6ba5..03ad113 100644 --- a/src/docs.cpp +++ b/src/docs.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: docs.cpp,v 1.17 2001/01/30 02:20:50 kevin Exp $ +** $Id: docs.cpp,v 1.18 2001/01/30 05:05:41 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -57,7 +57,7 @@ IMPLEMENT_DYNAMIC_CLASS(ImageFileDocument, wxDocument) bool ImageFileDocument::OnSaveDocument(const wxString& filename) { - if (! m_imageFile.fileWrite (filename)) { + if (! m_pImageFile->fileWrite (filename)) { *theApp->getLog() << "Unable to write image file " << filename << "\n"; return false; } @@ -71,7 +71,7 @@ bool ImageFileDocument::OnOpenDocument(const wxString& filename) if (! OnSaveModified()) return false; - if (! m_imageFile.fileRead (filename.c_str())) { + if (! m_pImageFile->fileRead (filename.c_str())) { *theApp->getLog() << "Unable to read image file " << filename << "\n"; m_bBadFileOpen = true; return false; @@ -80,18 +80,20 @@ bool ImageFileDocument::OnOpenDocument(const wxString& filename) SetFilename(filename, true); Modify(false); UpdateAllViews(); - GetFirstView()->OnUpdate (GetFirstView(), NULL); + getView()->OnUpdate (getView(), NULL); m_bBadFileOpen = false; return true; } -bool ImageFileDocument::IsModified(void) const +bool +ImageFileDocument::IsModified(void) const { return wxDocument::IsModified(); } -void ImageFileDocument::Modify(bool mod) +void +ImageFileDocument::Modify(bool mod) { wxDocument::Modify(mod); } @@ -102,13 +104,34 @@ ImageFileDocument::getView() const return dynamic_cast(GetFirstView()); } + +bool +ImageFileDocument::Revert () +{ + if (IsModified()) { + wxString msg ("Revert to saved "); + msg += GetFilename(); + msg += "?"; + wxMessageDialog dialog (getView()->getFrame(), msg, "Are you sure?", wxYES_NO | wxNO_DEFAULT); + if (dialog.ShowModal() == wxID_YES) { + *theApp->getLog() << "Reverting to saved " << GetFilename() << "\n"; + Modify(false); + OnOpenDocument (GetFilename()); + } + } + getView()->OnUpdate (getView(), NULL); + UpdateAllViews(); + + return true; +} + // ProjectionFileDocument IMPLEMENT_DYNAMIC_CLASS(ProjectionFileDocument, wxDocument) bool ProjectionFileDocument::OnSaveDocument(const wxString& filename) { - if (! m_projectionFile.write (filename.c_str())) { + if (! m_pProjectionFile->write (filename.c_str())) { *theApp->getLog() << "Unable to write projection file " << filename << "\n"; return false; } @@ -122,7 +145,7 @@ bool ProjectionFileDocument::OnOpenDocument(const wxString& filename) if (! OnSaveModified()) return false; - if (! m_projectionFile.read (filename.c_str())) { + if (! m_pProjectionFile->read (filename.c_str())) { *theApp->getLog() << "Unable to read projection file " << filename << "\n"; m_bBadFileOpen = true; return false;