*/
/** @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 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;
- }
+ JobManagerView (wxWindow *);
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;
+ void periodic (wxTimerEvent &);
+
+ boost::shared_ptr<wxTimer> _timer;
+ wxPanel* _panel;
+ wxFlexGridSizer* _table;
+ struct JobRecord {
+ wxGauge* gauge;
+ wxStaticText* message;
+ bool informed_of_finish;
};
-
- /** The columns for the store */
- StoreColumns _columns;
+
+ std::map<boost::shared_ptr<Job>, JobRecord> _job_records;
};