Documentation for OpenFLUID 2.2.2
Loading...
Searching...
No Matches
RunSimulationDialog.hpp
Go to the documentation of this file.
1/*
2
3 This file is part of OpenFLUID software
4 Copyright(c) 2021-2026, INRAE
5
6
7 == GNU General Public License Usage ==
8
9 OpenFLUID is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 OpenFLUID is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with OpenFLUID. If not, see <http://www.gnu.org/licenses/>.
21
22
23 == Other Usage ==
24
25 Other Usage means a use of OpenFLUID that is inconsistent with the GPL
26 license, and requires a written agreement between You and INRA.
27 Licensees for Other Usage of OpenFLUID may use this file in accordance
28 with the terms contained in the written agreement between You and INRA.
29
30*/
31
32
33/**
34 @file RunSimulationDialog.hpp
35
36 @author Jean-Christophe FABRE <jean-christophe.fabre@inra.fr>
37 */
38
39
40#ifndef __OPENFLUID_UICOMMON_RUNSIMULATIONDIALOG_HPP__
41#define __OPENFLUID_UICOMMON_RUNSIMULATIONDIALOG_HPP__
42
43
44#include <QObject>
45#include <QCloseEvent>
46
54
55
56namespace Ui
57{
58 class RunSimulationDialog;
59}
60
61
62namespace openfluid {
63
64namespace fluidx {
65 class FluidXDescriptor;
66}
67
68
69namespace ui { namespace common {
70
71
73{
74 Q_OBJECT;
75
76 private:
77
78 Ui::RunSimulationDialog *ui;
79
81
83
84 openfluid::tools::Timer m_ElapsedTimer;
85
86 bool m_Launched;
87
88 bool m_Success;
89
90 bool m_CanClose;
91
92 static QString getDurationAsDaysHoursMinsSecsString(openfluid::core::Duration_t Duration);
93
94 void setCompleted();
95
96
97 private slots:
98
99 void setPeriod(QString Begin, QString End, int Duration);
100
102
103 void setProgressValue(int Index);
104
105 void setProgressMax(int Index);
106
107 void setWarningsCount(unsigned int Count);
108
109 void requestAbort();
110
111 void requestSuspendResume();
112
113 void validateSuspend();
114
115 void handleError(QString Msg,openfluid::base::ExceptionContext Context);
116
117 void handleFinish();
118
119 void handleUserAbort();
120
121 void showErrorDetails();
122
123
124 protected:
125
126 void closeEvent(QCloseEvent *event);
127
128 bool event(QEvent* event);
129
130
131 public:
132
134
136
137 bool execute();
138
139};
140
141
142} } } // namespaces
143
144
145#endif /* __OPENFLUID_UICOMMON_RUNSIMULATIONDIALOG_HPP__ */
Definition ExceptionContext.hpp:54
Definition FluidXDescriptor.hpp:60
Definition Timer.hpp:58
Definition MessageDialog.hpp:56
Definition RunSimulationDialog.hpp:73
RunSimulationDialog(QWidget *Parent, const openfluid::fluidx::FluidXDescriptor *FXDesc)
Definition RunSimulationWorker.hpp:63
Stage
Definition RunSimulationWorker.hpp:68
#define OPENFLUID_API
Definition dllexport.hpp:86
Definition AboutDialog.hpp:51
std::uint64_t Duration_t
Definition TypeDefs.hpp:312
Definition ApplicationException.hpp:47