X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fthreadrecon.h;fp=src%2Fthreadrecon.h;h=0cb8c9a3c584c7070f82d64d84d84049912d71db;hp=53368fa94fd496724ede052095c63984e8e976ca;hb=e081109a4a541c8780aaa253b874acada5957200;hpb=0730f9f3adbf326b9d4bac754634399ad688efd1 diff --git a/src/threadrecon.h b/src/threadrecon.h index 53368fa..0cb8c9a 100644 --- a/src/threadrecon.h +++ b/src/threadrecon.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: threadrecon.h,v 1.1 2001/02/22 11:05:38 kevin Exp $ +** $Id: threadrecon.h,v 1.2 2001/02/22 15:00: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 @@ -34,13 +34,26 @@ #include "timer.h" +class BackgroundTask : public wxEvtHandler { +public: + BackgroundTask() + : wxEvtHandler() + {} + + virtual ~BackgroundTask() + {} + + virtual void cancel() = 0; + virtual bool start() = 0; +}; + class Reconstructor; class ImageFile; class ProjectionFileDocument; class ReconstructionThread; class ProjectionFileView; -class ThreadedReconstructor : public wxEvtHandler { +class ThreadedReconstructor : public BackgroundTask { private: DECLARE_DYNAMIC_CLASS(ThreadedReconstructor) @@ -49,6 +62,7 @@ private: std::vector m_vecpThread; ProjectionFileView* m_pProjView; wxProgressDialog* m_pDialogProgress; + wxGauge* m_pGauge; volatile bool m_bFail; int m_iNumThreads; @@ -71,7 +85,7 @@ public: const char* pszBackprojectName, const char* const pszLabel); ThreadedReconstructor () - : m_bFail(true), m_iNumThreads(0), m_iImageNX(0), m_iImageNY(0), m_iTotalViews(0) + : m_bFail(true), m_iNumThreads(0), m_iImageNX(0), m_iImageNY(0), m_iTotalViews(0), BackgroundTask() {} ~ThreadedReconstructor ();