DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
runscriptspage.h
Go to the documentation of this file.
1 #ifndef RUNSCRIPTSPAGE_H
2 #define RUNSCRIPTSPAGE_H
3 
4 #include <QWidget>
5 
6 #include <QGridLayout>
7 
8 #include <functional>
9 
10 namespace Ui {
11 class RunScriptsPage;
12 }
13 
14 QT_BEGIN_NAMESPACE
15 class QProcess;
16 class QPushButton;
17 QT_END_NAMESPACE
18 
19 class RunScriptsPage : public QWidget
20 {
21  Q_OBJECT
22 
23 public:
24  explicit RunScriptsPage(QWidget *parent = 0);
26 
27  using FeedArgsFunction = std::function<void(QStringList &, const QString &script)>;
28  using ButtonPushedFunction = std::function<void(QPushButton *)>;
29  QPushButton *addScriptButton(const QString &label, const QString &script, FeedArgsFunction feed_args_function, ButtonPushedFunction onButtonPushed = nullptr);
30 
31 private slots:
32  void processStarted();
33  void readOutput();
34  void readError();
35  void processExit(int);
36 
37 private:
39  QGridLayout *mLayout;
40 
41  QProcess *mProcess;
42 
43  int mNw = 0;
44 
45  void runScript(const QString &script, const QStringList &args);
46  void checkEnv();
47 };
48 
49 #endif // RUNSCRIPTSPAGE_H
Definition: runscriptspage.h:19
Definition: dteditorwindow.h:32
std::function< void(QPushButton *)> ButtonPushedFunction
Definition: runscriptspage.h:28
Definition: ui_runscriptspage.h:64
QPushButton * addScriptButton(const QString &label, const QString &script, FeedArgsFunction feed_args_function, ButtonPushedFunction onButtonPushed=nullptr)
Definition: runscriptspage.cpp:25
~RunScriptsPage()
Definition: runscriptspage.cpp:20
RunScriptsPage(QWidget *parent=0)
Definition: runscriptspage.cpp:11
std::function< void(QStringList &, const QString &script)> FeedArgsFunction
Definition: runscriptspage.h:27