Logging improvements to allow prettier displays in the server GUI.
[dcpomatic.git] / src / wx / job_manager_view.h
index 72ac85c02640423ee4c2f23b1756c8680adf645b..79cc4743cef789ae8deb715bd5133272a710fd06 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
  *  @brief Class which is a wxPanel for showing the progress of jobs.
  */
 
-#include <string>
-#include <boost/shared_ptr.hpp>
 #include <wx/wx.h>
+#include <boost/shared_ptr.hpp>
+#include <list>
 
 class Job;
+class JobView;
 
 /** @class JobManagerView
  *  @brief Class which is a wxPanel for showing the progress of jobs.
@@ -35,23 +36,13 @@ class JobManagerView : public wxScrolledWindow
 public:
        JobManagerView (wxWindow *);
 
-       void update ();
-
 private:
-       void periodic (wxTimerEvent &);
-       void cancel_clicked (wxCommandEvent &);
-       void details_clicked (wxCommandEvent &);
+       void job_added (boost::weak_ptr<Job>);
+       void periodic ();
 
-       boost::shared_ptr<wxTimer> _timer;
        wxPanel* _panel;
        wxFlexGridSizer* _table;
-       struct JobRecord {
-               wxGauge* gauge;
-               wxStaticText* message;
-               wxButton* cancel;
-               wxButton* details;
-               bool finalised;
-       };
-               
-       std::map<boost::shared_ptr<Job>, JobRecord> _job_records;
+       boost::shared_ptr<wxTimer> _timer;
+
+       std::list<boost::shared_ptr<JobView> > _job_records;
 };