X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.h;h=a3f49cf59913ca41568c87ece177a1af36571d7f;hb=f3c7d22b4544bb1d5c4471bceded6dc5b9ed57fd;hp=88e362ec694cd4d9112c800d877a1d7c69aae4bc;hpb=0730f9f3adbf326b9d4bac754634399ad688efd1;p=ctsim.git diff --git a/src/docs.h b/src/docs.h index 88e362e..a3f49cf 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.22 2001/02/22 11:05:38 kevin Exp $ +** $Id: docs.h,v 1.33 2002/06/06 22:50:24 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 @@ -48,6 +48,7 @@ class PlotFileView; class TextFileView; class Graph3dFileView; + class ImageFileDocument: public wxDocument { private: @@ -84,17 +85,40 @@ public: ImageFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } void setBadFileOpen() { m_bBadFileOpen = true; } + void Activate(); }; +class BackgroundProcessingDocument : public wxDocument +{ +private: + DECLARE_DYNAMIC_CLASS(BackgroundProcessingDocument) +#ifdef HAVE_WXTHREADS + typedef BackgroundSupervisor BackgroundObject; + typedef std::vector BackgroundContainer; + BackgroundContainer m_vecpBackgroundSupervisors; + wxCriticalSection m_criticalSection; +#endif + +public: + BackgroundProcessingDocument() + : wxDocument() + {} + + void cancelRunningTasks(); +#ifdef HAVE_WXTHREADS + void addBackgroundSupervisor (BackgroundSupervisor* pSupervisor); + void removeBackgroundSupervisor (BackgroundSupervisor* pSupervisor); +#endif + + DECLARE_EVENT_TABLE() +}; -class ProjectionFileDocument: public wxDocument +class ProjectionFileDocument: public BackgroundProcessingDocument { private: DECLARE_DYNAMIC_CLASS(ProjectionFileDocument) Projections* m_pProjectionFile; bool m_bBadFileOpen; - std::vector m_vecpActiveReconstructors; - wxCriticalSection m_criticalSection; public: virtual bool OnSaveDocument (const wxString& filename); @@ -121,12 +145,11 @@ public: ProjectionFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } void setBadFileOpen() { m_bBadFileOpen = true; } - void addReconstructor (ThreadedReconstructor* pRecon); - void removeReconstructor (ThreadedReconstructor* pRecon); + void Activate(); }; -class PhantomFileDocument: public wxDocument +class PhantomFileDocument: public BackgroundProcessingDocument { private: DECLARE_DYNAMIC_CLASS(PhantomFileDocument) @@ -140,8 +163,7 @@ public: : m_idPhantom(Phantom::PHM_INVALID), m_bBadFileOpen(false) {} - virtual ~PhantomFileDocument () - {} + virtual ~PhantomFileDocument (); const int getPhantomID () const { return m_idPhantom; } @@ -158,6 +180,7 @@ public: PhantomFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } void setBadFileOpen() { m_bBadFileOpen = true; } + void Activate(); }; @@ -193,6 +216,7 @@ public: PlotFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } void setBadFileOpen() { m_bBadFileOpen = true; } + void Activate(); }; @@ -229,7 +253,7 @@ typedef GLfloat glTripleFloat[3]; class Graph3dFileDocument: public wxDocument { - friend Graph3dFileView; + friend class Graph3dFileView; private: DECLARE_DYNAMIC_CLASS(Graph3dFileDocument) @@ -258,6 +282,7 @@ class Graph3dFileDocument: public wxDocument int ny() const { return m_ny; } ImageFileArray getArray() { return m_array; } ImageFileArrayConst getArray() const { return m_array; } + void Activate(); }; #endif // wxUSE_GLCANVAS