X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.cpp;h=7d8eb8820ec853654915917be0fa3dff297a5a65;hb=a3b780af2224183d29ab3bdbc997003bcac680b0;hp=5a73fe819f39ed0c337e040d64e0aeaf8b4c5b83;hpb=67e0b59f7b40b2c2f1d0587b24b4ecf4881b3824;p=ctsim.git diff --git a/src/docs.cpp b/src/docs.cpp index 5a73fe8..7d8eb88 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.39 2002/06/02 17:57:02 kevin Exp $ +** $Id: docs.cpp,v 1.41 2002/06/04 19:19:40 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 @@ -49,6 +49,12 @@ #include "threadrecon.h" +const char szNEW_IMAGE_FILENAME[] = "___CTSIM___INTERNAL___NEW___.if"; +const char szNEW_PROJECTION_FILENAME[] = "___CTSIM___INTERNAL___NEW___.pj"; +const char szNEW_GRAPH3D_FILENAME[] = "___CTSIM___INTERNAL___NEW___.3d"; +const char szNEW_PLOT_FILENAME[] = "___CTSIM___INTERNAL___NEW___.plt"; + + // ImageFileDocument IMPLEMENT_DYNAMIC_CLASS(ImageFileDocument, wxDocument) @@ -65,18 +71,24 @@ bool ImageFileDocument::OnSaveDocument(const wxString& filename) return true; } -bool ImageFileDocument::OnOpenDocument(const wxString& filename) +bool ImageFileDocument::OnOpenDocument(const wxString& constFilename) { if (! OnSaveModified()) return false; - if (! m_pImageFile->fileRead (filename.c_str())) { + wxString filename (constFilename); + + if (filename == szNEW_IMAGE_FILENAME) { + filename = ""; + } else if (! m_pImageFile->fileRead (filename.c_str())) { *theApp->getLog() << "Unable to read image file " << filename << "\n"; m_bBadFileOpen = true; return false; } - if (theApp->getVerboseLogging()) + + if (theApp->getVerboseLogging() && filename != "") *theApp->getLog() << "Read image file " << filename << "\n"; + SetFilename(filename, true); Modify(false); getView()->setInitialClientSize(); @@ -225,8 +237,8 @@ ProjectionFileDocument::OnOpenDocument(const wxString& filename) *theApp->getLog() << "Read projection file " << filename << "\n"; SetFilename(filename, true); Modify(false); - UpdateAllViews(); getView()->setInitialClientSize(); + UpdateAllViews(); m_bBadFileOpen = false; return true;