BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
JobWorker.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/JobWorker.h
6 //! @brief Defines class JobWorker
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_JOBWORKER_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_JOBWORKER_H
17 
18 #include <QObject>
19 
20 class ISimulation;
21 
22 //! The JobWorker class provides running the domain simulation in a thread.
23 
24 class JobWorker : public QObject {
25  Q_OBJECT
26 public:
27  JobWorker(const QString& identifier, ISimulation* simulation);
28 
29  QString identifier() const;
30 
31  int progress() const;
32 
33  QString status() const;
34 
35  QString failureMessage() const;
36 
37  int simulationDuration() const;
38 
39 signals:
40  void started();
41  void finished();
43 
44 public slots:
45  void start();
46  void terminate();
47 
48 private:
49  bool updateProgress(int percentage_done);
50 
51  QString m_identifier;
54  QString m_job_status;
58 };
59 
60 #endif // BORNAGAIN_GUI_COREGUI_MODELS_JOBWORKER_H
Abstract base class of OffSpecularSimulation, GISASSimulation and SpecularSimulation.
Definition: ISimulation.h:38
The JobWorker class provides running the domain simulation in a thread.
Definition: JobWorker.h:24
bool updateProgress(int percentage_done)
Sets current progress. Returns true if we want to continue the simulation.
Definition: JobWorker.cpp:106
int m_percentage_done
Definition: JobWorker.h:53
int m_simulation_duration
Definition: JobWorker.h:57
void progressUpdate()
QString failureMessage() const
Definition: JobWorker.cpp:86
QString identifier() const
Definition: JobWorker.cpp:30
QString m_job_status
Definition: JobWorker.h:54
int progress() const
Definition: JobWorker.cpp:35
QString status() const
Definition: JobWorker.cpp:81
void start()
Definition: JobWorker.cpp:40
bool m_terminate_request_flag
Definition: JobWorker.h:55
int simulationDuration() const
Definition: JobWorker.cpp:91
JobWorker(const QString &identifier, ISimulation *simulation)
Definition: JobWorker.cpp:20
QString m_identifier
Definition: JobWorker.h:51
void finished()
QString m_failure_message
Definition: JobWorker.h:56
void terminate()
Sets request for JobRunner to terminate underlying domain simulation.
Definition: JobWorker.cpp:98
ISimulation * m_simulation
Definition: JobWorker.h:52
void started()