-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathmainwindow.h
103 lines (72 loc) · 2.13 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QListWidgetItem>
#include <QTime>
#include <QScxmlStateMachine>
#include <QTimer>
#include <QElapsedTimer>
#include <QSettings>
#include "machine.h"
#include "scxmlexternmonitor2.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
void log(const QString &sMsg, const QtMsgType severity);
protected:
ScxmlW3CTester *_appMachine = nullptr;
std::unique_ptr<QSettings> _settings;
virtual void processTest(const QString &fileName, const bool isSpecial) = 0;
virtual QString _ignoredListFileName(void) = 0;
private slots:
void on_btnStop_clicked();
void on_btnStart_clicked();
void on_btnReset_clicked();
void on_btnDir_clicked();
void on_editDirectory_returnPressed();
void on_editDirectory_textChanged(const QString &);
void on_btnReport_clicked();
void on_checkMonitor_toggled(bool checked);
private:
Ui::MainWindow *ui;
enum TestState {
tsSuccess,
tsError,
tsStarted,
tsUnknown,
tsManual,
tsTimeout,
tsMAXSIZE
};
inline static QString TestStateToStatusString(const TestState state) {
switch (state) {
case tsSuccess: return "Pass";
case tsManual: return "Manual";
case tsTimeout: return "Timeout";
default:
break;
}
return "Fail";
}
const QString _scxmlLinksRepo = "https://github.com/alexzhornyak/SCXML-tutorial/tree/master/Doc/";
QMap<QString, QString> _scxmlLinks;
QString _markdownCodeRegs;
QString StringToMarkdownEscaped(QString text);
QIcon _icon[tsMAXSIZE];
qint64 _elapsed;
QElapsedTimer _elapsedTimer;
Scxmlmonitor::UDPScxmlExternMonitor *_monitor = nullptr;
void startTest(const int index);
void setItemState(QListWidgetItem *item, const TestState state);
void setupDirectory();
void printSummaryInfo(void);
};
Q_DECLARE_METATYPE(QListWidgetItem*)
Q_DECLARE_METATYPE(MainWindow*)
#endif // MAINWINDOW_H