r576: no message
[ctsim.git] / src / backgroundmgr.h
index 7e95fae7b75daf75938363ee304c8292c9718e6a..90bbf147525182765ccd057b2b161573be394a16 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: backgroundmgr.h,v 1.1 2001/02/22 15:00:20 kevin Exp $
+**  $Id: backgroundmgr.h,v 1.4 2001/02/23 18:56:56 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
@@ -59,20 +59,42 @@ class BackgroundManager : public wxMiniFrame
 private:
   DECLARE_DYNAMIC_CLASS(BackgroundManager)
 
+  wxCriticalSection m_criticalSection;
   BackgroundManagerCanvas* m_pCanvas;
   int m_iNumTasks;
-  std::vector<BackgroundTask*> m_vecpBackgroundTasks;
-  std::vector<wxGauge*> m_vecpGauges;
 
-  void OnCloseWindow(wxCloseEvent& event);
+  typedef std::vector<BackgroundSupervisor*> TaskContainer;
+  typedef std::vector<wxGauge*>  GaugeContainer;
+  typedef std::vector<std::string*> StringContainer;
+  typedef std::vector<int> PositionContainer;
+  typedef std::vector<wxStaticText*>  LabelContainer;
+  TaskContainer m_vecpBackgroundTasks;
+  GaugeContainer m_vecpGauges;
+  StringContainer m_vecpNames;
+  PositionContainer m_vecpPositions;
+  LabelContainer m_vecpLabels;
+  wxSize m_sizeGauge;
+  wxSize m_sizeLabel;
+  wxSize m_sizeCell;
+  wxSize m_sizeBorder;
+
+  void resizeWindow();
 
 public:
   BackgroundManager ();
 
-  wxGauge* addTask (BackgroundTask* pTask, int iNumUnits);
-  void taskDone (BackgroundTask* pTask);
-  bool isCancelling (BackgroundTask* pTask);
+  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;}
 
+  void OnCloseWindow(wxCloseEvent& event);
+  
   DECLARE_EVENT_TABLE()
 };