Merge branch '1.0' of ssh://carlh.dnsalias.org/home/carl/git/dvdomatic into 1.0
[dcpomatic.git] / src / wx / job_manager_view.h
index c88a1ce9aa9f2b3c6ba01e9e25283dfdb5f93436..c4bb1e2189b6e32850a0694c52e65121c957a316 100644 (file)
 */
 
 /** @file src/job_manager_view.h
- *  @brief Class generating a GTK widget to show the progress of jobs.
+ *  @brief Class which is a wxPanel for showing the progress of jobs.
  */
 
 #include <string>
 #include <boost/shared_ptr.hpp>
-#include <gtkmm.h>
+#include <wx/wx.h>
 
 class Job;
+class JobRecord;
 
 /** @class JobManagerView
- *  @brief Class generating a GTK widget to show the progress of jobs.
+ *  @brief Class which is a wxPanel for showing the progress of jobs.
  */
-class JobManagerView
+class JobManagerView : public wxScrolledWindow
 {
 public:
-       JobManagerView ();
-
-       /** @return Our main widget, which contains everything else */
-       Gtk::Widget& widget () {
-               return _scroller;
-       }
-
-       void update ();
-
-private:
-       /** Scroller for all our contents */
-       Gtk::ScrolledWindow _scroller;
-       /** View for the jobs */
-       Gtk::TreeView _view;
-       /** Store for the jobs */
-       Glib::RefPtr<Gtk::TreeStore> _store;
-
-       /** The TreeModelColumnRecord for the store */
-       class StoreColumns : public Gtk::TreeModelColumnRecord
-       {
-       public:
-               StoreColumns ()
-               {
-                       add (name);
-                       add (job);
-                       add (progress);
-                       add (progress_unknown);
-                       add (text);
-                       add (informed_of_finish);
-               }
-
-               /** Job name */
-               Gtk::TreeModelColumn<std::string> name;
-               /** Job */
-               Gtk::TreeModelColumn<boost::shared_ptr<Job> > job;
-               /** Progress */
-               Gtk::TreeModelColumn<float> progress;
-               /** An increasing integer number if the progress is unknown */
-               Gtk::TreeModelColumn<int> progress_unknown;
-               /** Text to write into the progress bar */
-               Gtk::TreeModelColumn<std::string> text;
-               /** true if the job has been informed of its finish */
-               Gtk::TreeModelColumn<bool> informed_of_finish;
+       enum Buttons {
+               PAUSE = 0x1,
        };
+               
+       JobManagerView (wxWindow *, Buttons);
 
-       /** The columns for the store */
-       StoreColumns _columns;
+private:
+       void job_added (boost::weak_ptr<Job>);
+       void periodic ();
+
+       wxPanel* _panel;
+       wxFlexGridSizer* _table;
+       boost::shared_ptr<wxTimer> _timer;
+               
+       std::list<boost::shared_ptr<JobRecord> > _job_records;
+       Buttons _buttons;
 };