r582: no message
[ctsim.git] / src / docs.h
index 6c0e0fe4e68b7ae8a18ee094e2b4ad0692240f54..f841bcdfe51489dd296182f43dc78522ad254362 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.h,v 1.24 2001/02/23 21:58:31 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
@@ -86,17 +86,33 @@ public:
     void setBadFileOpen() { m_bBadFileOpen = true; }
 };
 
+class BackgroundProcessingDocument : public wxDocument
+{
+private:
+    DECLARE_DYNAMIC_CLASS(BackgroundProcessingDocument)
+    typedef BackgroundSupervisor BackgroundObject;
+    typedef std::vector<BackgroundObject*> BackgroundContainer;
+    BackgroundContainer m_vecpBackgroundSupervisors;
+    wxCriticalSection m_criticalSection;
+
+public:
+  BackgroundProcessingDocument()
+    : wxDocument()
+      {}
+
+  void cancelRunningTasks();
+  void OnAddBackground (wxCommandEvent& event);
+  void OnRemoveBackground (wxCommandEvent& event);
 
-class ProjectionFileDocument: public wxDocument
+  DECLARE_EVENT_TABLE()
+};
+
+class ProjectionFileDocument: public BackgroundProcessingDocument
 {
 private:
     DECLARE_DYNAMIC_CLASS(ProjectionFileDocument)
     Projections* m_pProjectionFile;
     bool m_bBadFileOpen;
-    typedef BackgroundSupervisor BackgroundObject;
-    typedef std::vector<BackgroundObject*> BackgroundContainer ;
-    BackgroundContainer m_vecpBackgroundSupervisors;
-    wxCriticalSection m_criticalSection;
     
 public:
     virtual bool OnSaveDocument (const wxString& filename);
@@ -123,15 +139,10 @@ public:
     ProjectionFileView* getView() const;
     bool getBadFileOpen() const { return m_bBadFileOpen; }
     void setBadFileOpen() { m_bBadFileOpen = true; }
-
-    void OnAddBackground (wxCommandEvent& event);
-    void OnRemoveBackground (wxCommandEvent& event);
-
-    DECLARE_EVENT_TABLE()
 };
 
 
-class PhantomFileDocument: public wxDocument
+class PhantomFileDocument: public BackgroundProcessingDocument
 {
 private:
     DECLARE_DYNAMIC_CLASS(PhantomFileDocument)