X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdocs.h;h=f841bcdfe51489dd296182f43dc78522ad254362;hp=86f6cce7f7c8c2be4aea9bd86e80107f06bb21df;hb=df521cfe14a9e0b47bdcd98d1f67d03acf242162;hpb=56a484768937a8cb38203516f85106c778aaa97b diff --git a/src/docs.h b/src/docs.h index 86f6cce..f841bcd 100644 --- a/src/docs.h +++ b/src/docs.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: docs.h,v 1.20 2001/01/31 01:01:22 kevin Exp $ +** $Id: docs.h,v 1.25 2001/02/25 10:52:55 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 @@ -39,6 +39,7 @@ #include "phantom.h" #include "projections.h" #include "plotfile.h" +#include "threadrecon.h" class ProjectionFileView; class PhantomFileView; @@ -85,14 +86,34 @@ public: void setBadFileOpen() { m_bBadFileOpen = true; } }; +class BackgroundProcessingDocument : public wxDocument +{ +private: + DECLARE_DYNAMIC_CLASS(BackgroundProcessingDocument) + typedef BackgroundSupervisor BackgroundObject; + typedef std::vector BackgroundContainer; + BackgroundContainer m_vecpBackgroundSupervisors; + wxCriticalSection m_criticalSection; + +public: + BackgroundProcessingDocument() + : wxDocument() + {} + + void cancelRunningTasks(); + void OnAddBackground (wxCommandEvent& event); + void OnRemoveBackground (wxCommandEvent& event); + + DECLARE_EVENT_TABLE() +}; -class ProjectionFileDocument: public wxDocument +class ProjectionFileDocument: public BackgroundProcessingDocument { private: DECLARE_DYNAMIC_CLASS(ProjectionFileDocument) Projections* m_pProjectionFile; bool m_bBadFileOpen; - + public: virtual bool OnSaveDocument (const wxString& filename); virtual bool OnOpenDocument (const wxString& filename); @@ -105,10 +126,7 @@ public: m_pProjectionFile = new Projections; } - virtual ~ProjectionFileDocument () - { - delete m_pProjectionFile; - } + virtual ~ProjectionFileDocument (); const Projections& getProjections () const { return *m_pProjectionFile; } Projections& getProjections () { return *m_pProjectionFile; } @@ -124,7 +142,7 @@ public: }; -class PhantomFileDocument: public wxDocument +class PhantomFileDocument: public BackgroundProcessingDocument { private: DECLARE_DYNAMIC_CLASS(PhantomFileDocument) @@ -251,6 +269,11 @@ class Graph3dFileDocument: public wxDocument bool getBadFileOpen() const { return m_bBadFileOpen; } void setBadFileOpen() { m_bBadFileOpen = true; } bool createFromImageFile (const ImageFile& rImageFile); + + int nx() const { return m_nx; } + int ny() const { return m_ny; } + ImageFileArray getArray() { return m_array; } + ImageFileArrayConst getArray() const { return m_array; } }; #endif // wxUSE_GLCANVAS