X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fthreadraster.cpp;h=607977fb0b9636e9bb2553f0e5e977fb876912e8;hb=15582f4ca80f519d7ddca580ff8cb852878fd2a2;hp=6602ccedc1f3a000ff01a7cc86032042757310a8;hpb=7af7f4eb207891a4c0bfc60233b90847fd9b96cf;p=ctsim.git diff --git a/src/threadraster.cpp b/src/threadraster.cpp index 6602cce..607977f 100644 --- a/src/threadraster.cpp +++ b/src/threadraster.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: threadraster.cpp,v 1.3 2001/03/02 21:32:34 kevin Exp $ +** $Id: threadraster.cpp,v 1.5 2001/03/04 04:16:20 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 @@ -58,8 +58,7 @@ RasterizerSupervisorThread::RasterizerSupervisorThread (PhantomFileView* pProjView, int iNX, int iNY, int iNSample, double dViewRatio, const char* const pszLabel) -: m_pPhantomView(pProjView), m_iNX(iNX), m_iNY(iNY), m_iNSample(iNSample), m_dViewRatio(dViewRatio), m_strLabel(pszLabel), - SupervisorThread() +: SupervisorThread(), m_pPhantomView(pProjView), m_iNX(iNX), m_iNY(iNY), m_iNSample(iNSample), m_dViewRatio(dViewRatio), m_strLabel(pszLabel) { } @@ -141,28 +140,18 @@ RasterizerSupervisor::onDone() wxCriticalSectionLocker critsect (doneSection); ImageFile* pImageFile = getImageFile(); - - if (! wxThread::IsMain()) - wxMutexGuiEnter(); - ImageFileDocument* pImageDoc = theApp->newImageDoc(); - if (! pImageDoc) { - sys_error (ERR_SEVERE, "Unable to create image file"); - return; - } - pImageDoc->setImageFile (pImageFile); - pImageDoc->UpdateAllViews (NULL); - if (ImageFileView* imageView = pImageDoc->getView()) { - imageView->OnUpdate (imageView, NULL); - imageView->getFrame()->SetFocus(); - imageView->getFrame()->Show(true); - } - *theApp->getLog() << m_pszLabel << "\n"; - if (! wxThread::IsMain()) - wxMutexGuiLeave(); pImageFile->labelAdd (m_pszLabel, getTimerEnd()); - if (theApp->getAskDeleteNewDocs()) - pImageDoc->Modify (true); + 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(); }