r447: Fixed document closing when cancelling dialog during reconstruction/projectsions
[ctsim.git] / src / views.cpp
index 7b291a0188c256d6bd2cd7516979a608f450395d..be956dbfc79e536805bcd0725b9004a8f730e7b7 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.78 2001/01/27 03:08:16 kevin Exp $
+**  $Id: views.cpp,v 1.79 2001/01/27 03:39:53 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
@@ -358,8 +358,7 @@ ImageFileView::OnCompare (wxCommandEvent& event)
         
         differenceImage.setArraySize (rIF.nx(), rIF.ny());
         if (! rIF.subtractImages (rCompareIF, differenceImage)) {
-          pDifferenceDoc->Close();
-          //pDifferenceDoc->DeleteAllViews();
+          pDifferenceDoc->getView()->getFrame()->Close(true);
           return;
         }
         
@@ -1811,8 +1810,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
         for (int iView = 0; iView < rProj.nView(); iView++) {
           ::wxYield();
           if (dialogProjections.isCancelled() || ! dialogProjections.projectView (iView)) {
-            pProjectionDoc->Close();
-          //pProjectionDoc->DeleteAllViews();
+          pProjectionDoc->getView()->getFrame()->Close(true);
             return;
           }
           ::wxYield();
@@ -1826,8 +1824,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
         for (int i = 0; i < rProj.nView(); i++) {
           theScanner.collectProjections (rProj, rPhantom, i, 1, true, m_iDefaultTrace);
           if (! dlgProgress.Update (i+1)) {
-            pProjectionDoc->Close();
-            //pProjectionDoc->DeleteAllViews();
+            pProjectionDoc->getView()->getFrame()->Close(true);
             return;
           }
         }
@@ -1890,7 +1887,7 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
         rPhantom.convertToImagefile (imageFile, m_iDefaultRasterNSamples, Trace::TRACE_NONE, i, 1, true);
         if (! dlgProgress.Update(i+1)) {
           pRasterDoc->Close();
-          //pRasterDoc->DeleteAllViews();
+          pRasterDoc->getView()->getFrame()->Close(true);
           return;
         }
       }
@@ -2276,8 +2273,7 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event)
           if (pDlgReconstruct->isCancelled() || ! pDlgReconstruct->reconstructView (iView)) {
             delete pDlgReconstruct;
             delete pReconstruct;
-            pReconDoc->Close();
-            //pReconDoc->DeleteAllViews();
+            pReconDoc->getView()->getFrame()->Close(true);
             return;
           }
           ::wxYield();
@@ -2294,8 +2290,7 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event)
           pReconstruct->reconstructView (i, 1);
           if (! dlgProgress.Update(i + 1)) {
             delete pReconstruct;
-            pReconDoc->Close();
-            //pReconDoc->DeleteAllViews();
+            pReconDoc->getView()->getFrame()->Close(true);
             return;
           }
         }