r620: no message
[ctsim.git] / src / backgroundmgr.h
index 90bbf147525182765ccd057b2b161573be394a16..76a848fa72781e0871424026053ce4a819564d21 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: backgroundmgr.h,v 1.4 2001/02/23 18:56:56 kevin Exp $
+**  $Id: backgroundmgr.h,v 1.9 2001/03/09 02:40:17 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
 
 #include <vector>
 
-#if defined(HAVE_CONFIG_H)
-#include "config.h"
-#endif
+#ifdef HAVE_WXTHREADS
 
 class BackgroundManagerCanvas;
 
 #if CTSIM_MDI
 //class BackgroundManager : public wxMDIChildFrame
-//#else
-class BackgroundManager : public wxMiniFrame
 #endif
+class BackgroundManager : public wxMiniFrame
 {
 private:
   DECLARE_DYNAMIC_CLASS(BackgroundManager)
@@ -68,33 +65,39 @@ private:
   typedef std::vector<std::string*> StringContainer;
   typedef std::vector<int> PositionContainer;
   typedef std::vector<wxStaticText*>  LabelContainer;
+  typedef std::vector<wxButton*> ButtonContainer;
   TaskContainer m_vecpBackgroundTasks;
   GaugeContainer m_vecpGauges;
   StringContainer m_vecpNames;
   PositionContainer m_vecpPositions;
   LabelContainer m_vecpLabels;
+  ButtonContainer m_vecpCancelButtons;
   wxSize m_sizeGauge;
   wxSize m_sizeLabel;
   wxSize m_sizeCell;
   wxSize m_sizeBorder;
+  wxSize m_sizeCellSpacing;
+  wxSize m_sizeButton;
 
   void resizeWindow();
+  wxGauge* lookupGauge(BackgroundSupervisor* pTask);
 
 public:
   BackgroundManager ();
 
-  wxGauge* addTask (BackgroundSupervisor* pTask, int iNumUnits, const char* const pszTaskName);
-  void taskDone (BackgroundSupervisor* pTask);
-  bool isCancelling (BackgroundSupervisor* pTask);
-
   TaskContainer& getTasks() { return m_vecpBackgroundTasks;}
   GaugeContainer& getGauges() { return m_vecpGauges;}
   StringContainer& getNames() { return m_vecpNames;}
   PositionContainer& getPositions() { return m_vecpPositions;}
   LabelContainer& getLabels() { return m_vecpLabels;}
+  ButtonContainer& getCancelButtons() { return m_vecpCancelButtons;}
 
+  void OnAddTask (wxCommandEvent& event);
+  void OnRemoveTask (wxCommandEvent& event);
+  void OnUnitTick (wxCommandEvent& event);
   void OnCloseWindow(wxCloseEvent& event);
-  
+  void OnCancelButton(wxCommandEvent& event);
+
   DECLARE_EVENT_TABLE()
 };
 
@@ -107,11 +110,10 @@ private:
 public:
   BackgroundManagerCanvas (BackgroundManager* pBkgdMgr = NULL);
 
-  void OnPaint (wxPaintEvent& event);
-
   DECLARE_EVENT_TABLE()
 };
 
+#endif // HAVE_WXTHREADS
 
 #endif // _BACKGROUNDMGR_H