#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);
+ JobManagerView (wxWindow *);
private:
- void cancel_clicked (wxCommandEvent &);
- void pause_clicked (wxCommandEvent &);
- void details_clicked (wxCommandEvent &);
-
void job_added (boost::weak_ptr<Job>);
- void progress (boost::weak_ptr<Job>);
- void finished (boost::weak_ptr<Job>);
+ void periodic ();
+ void sized (wxSizeEvent &);
wxPanel* _panel;
wxFlexGridSizer* _table;
- struct JobRecord {
- wxGauge* gauge;
- wxStaticText* message;
- wxButton* cancel;
- wxButton* pause;
- wxButton* details;
- 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;
};