/*
- 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
#include <wx/wx.h>
class Job;
+class JobRecord;
/** @class JobManagerView
* @brief Class which is a wxPanel for showing the progress of jobs.
class JobManagerView : public wxScrolledWindow
{
public:
- enum Buttons {
- PAUSE = 0x1,
- };
-
- JobManagerView (wxWindow *, Buttons);
-
- void update ();
+ JobManagerView (wxWindow *);
private:
- void periodic (wxTimerEvent &);
- void cancel_clicked (wxCommandEvent &);
- void pause_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* pause;
- wxButton* details;
- bool finalised;
- bool scroll_nudged;
- };
+ boost::shared_ptr<wxTimer> _timer;
- std::map<boost::shared_ptr<Job>, JobRecord> _job_records;
- Buttons _buttons;
+ std::list<boost::shared_ptr<JobRecord> > _job_records;
};