r603: no message
[ctsim.git] / src / threadrecon.cpp
index 3c0b223924917e67b351284e8228ca99d69ba4d7..4ece6ed3e0f03b784ce34315976c16c2b1c62122 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: threadrecon.cpp,v 1.16 2001/03/02 21:32:34 kevin Exp $
+**  $Id: threadrecon.cpp,v 1.19 2001/03/04 04:30:45 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
@@ -116,7 +116,7 @@ ReconstructorSupervisor::ReconstructorSupervisor (SupervisorThread* pThread, Pro
       BackgroundSupervisor (pThread, pProjView->GetFrame(), pProjView->GetDocument(), "Reconstructing", pProjView->GetDocument()->getProjections().nView())
 {
   m_vecpChildImageFile.reserve (getNumWorkers());
-  for (unsigned int iThread = 0; iThread < getNumWorkers(); iThread++) {
+  for (int iThread = 0; iThread < getNumWorkers(); iThread++) {
     m_vecpChildImageFile[iThread] = new ImageFile (m_iImageNX, m_iImageNY);    
   }
 
@@ -148,30 +148,19 @@ ReconstructorSupervisor::onDone()
   wxCriticalSectionLocker critsect (doneSection);
 
   ImageFile* pImageFile = getImageFile();
-
-  if (! wxThread::IsMain())
-    wxMutexGuiEnter();
-  ImageFileDocument* pReconDoc = theApp->newImageDoc();
-  if (! pReconDoc) {
-    sys_error (ERR_SEVERE, "Unable to create image file");
-    return;
-  }  
-  pReconDoc->setImageFile (pImageFile);
-  pReconDoc->UpdateAllViews (m_pProjView);
-  if (ImageFileView* rasterView = pReconDoc->getView()) {
-    rasterView->OnUpdate (rasterView, NULL);
-    rasterView->getFrame()->SetFocus();
-    rasterView->getFrame()->Show(true);
-  }
-  *theApp->getLog() << m_pszLabel << "\n";
-  if (! wxThread::IsMain())
-    wxMutexGuiLeave();
-
-  if (theApp->getAskDeleteNewDocs())
-    pReconDoc->Modify (true);
   pImageFile->labelAdd (m_pProjView->GetDocument()->getProjections().getLabel());
   pImageFile->labelAdd (m_pszLabel, getTimerEnd());
 
+  wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
+  wxString msg (m_pszLabel);
+  msg += "\n";
+  eventLog.SetString( msg );
+  wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event
+
+  wxCommandEvent newImageEvent (wxEVT_COMMAND_MENU_SELECTED, NEW_IMAGEFILE_EVENT);
+  newImageEvent.SetClientData (pImageFile);
+  wxPostEvent (theApp->getMainFrame(), newImageEvent);
+
   setDone();
 }