X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fjob_manager_view.h;h=e960bc2f667a33e2c291fd79dffb3fbe9ac0ce18;hb=405164e6239d968d666f6f3143a0aa4659cb5821;hp=c88a1ce9aa9f2b3c6ba01e9e25283dfdb5f93436;hpb=26b9ae1e7700b545df4b5445a7efba412c2cbb68;p=dcpomatic.git diff --git a/src/wx/job_manager_view.h b/src/wx/job_manager_view.h index c88a1ce9a..e960bc2f6 100644 --- a/src/wx/job_manager_view.h +++ b/src/wx/job_manager_view.h @@ -1,83 +1,59 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + /** @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 -#include -#include + +#include "lib/warnings.h" +DCPOMATIC_DISABLE_WARNINGS +#include +DCPOMATIC_ENABLE_WARNINGS +#include +#include + class Job; +class JobView; + /** @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 (); + JobManagerView (wxWindow *, bool batch); - /** @return Our main widget, which contains everything else */ - Gtk::Widget& widget () { - return _scroller; - } +private: + void job_added (std::weak_ptr); + void periodic (); + void replace (); + void job_list_changed (); - void update (); + wxPanel* _panel; + wxFlexGridSizer* _table; + std::shared_ptr _timer; + bool _batch; -private: - /** Scroller for all our contents */ - Gtk::ScrolledWindow _scroller; - /** View for the jobs */ - Gtk::TreeView _view; - /** Store for the jobs */ - Glib::RefPtr _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 name; - /** Job */ - Gtk::TreeModelColumn > job; - /** Progress */ - Gtk::TreeModelColumn progress; - /** An increasing integer number if the progress is unknown */ - Gtk::TreeModelColumn progress_unknown; - /** Text to write into the progress bar */ - Gtk::TreeModelColumn text; - /** true if the job has been informed of its finish */ - Gtk::TreeModelColumn informed_of_finish; - }; - - /** The columns for the store */ - StoreColumns _columns; + std::list> _job_records; };