r2105: *** empty log message ***
[ctsim.git] / src / docs.cpp
index 80b0d75ae827b17a044e022f2842a85ad8113c97..7d8eb8820ec853654915917be0fa3dff297a5a65 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
 ** FILE IDENTIFICATION
 **
-**   Name:          doc.cpp
+**   Name:          docs.cpp
 **   Purpose:       Document routines for CTSim program
 **   Programmer:    Kevin Rosenberg
 **   Date Started:  July 2000
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.cpp,v 1.36 2001/03/13 04:44:25 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
 #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,22 +71,28 @@ 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();
   UpdateAllViews();
-  getView()->OnUpdate (getView(), NULL);
   m_bBadFileOpen = false;
 
   return true;
@@ -119,7 +131,7 @@ ImageFileDocument::Revert ()
       OnOpenDocument (GetFilename());
     }
   }
-  getView()->OnUpdate (getView(), NULL);
+  //getView()->OnUpdate (getView(), NULL);
   UpdateAllViews();
 
   return true;
@@ -225,8 +237,8 @@ ProjectionFileDocument::OnOpenDocument(const wxString& filename)
     *theApp->getLog() << "Read projection file " << filename << "\n";
   SetFilename(filename, true);
   Modify(false);
+  getView()->setInitialClientSize();
   UpdateAllViews();
-  GetFirstView()->OnUpdate (GetFirstView(), NULL);
   m_bBadFileOpen = false;
   
   return true;
@@ -293,7 +305,6 @@ PhantomFileDocument::OnOpenDocument(const wxString& filename)
   m_idPhantom = m_phantom.id();
   Modify(false);
   UpdateAllViews();
-  GetFirstView()->OnUpdate (GetFirstView(), NULL);
   m_bBadFileOpen = false;
   
   return true;
@@ -374,7 +385,7 @@ PlotFileDocument::OnOpenDocument(const wxString& filename)
   m_namePlot = filename.c_str();
   Modify (false);
   UpdateAllViews();
-  GetFirstView()->OnUpdate (NULL, NULL);
+  //GetFirstView()->OnUpdate (NULL, NULL);
   m_bBadFileOpen = false;
   
   return true;
@@ -437,7 +448,7 @@ TextFileDocument::OnOpenDocument(const wxString& filename)
   
   SetFilename (filename, true);
   Modify (false);
-  UpdateAllViews();
+  //  UpdateAllViews();
   m_bBadFileOpen = false;
   return true;
 }
@@ -499,7 +510,7 @@ Graph3dFileDocument::OnOpenDocument(const wxString& filename)
 {
   SetFilename (filename, true);
   Modify (false);
-  UpdateAllViews();
+  //  UpdateAllViews();
   m_bBadFileOpen = false;
   return true;
 }