-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
164 lines (133 loc) · 3.88 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "propertiesdock.h"
#include "consoledock.h"
#include "rewritedock.h"
#include "solvedock.h"
#include "addeditpropertydialog.h"
#include "findandreplacedialog.h"
#include "codeeditor.h"
#include "filesystem.h"
#include "processsystem.h"
#include <QMainWindow>
/**
* @brief The MainWindow class defines the main window off the application
*/
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
/**
* @brief MainWindow Constructor
* @param parent The parent of this widget
*/
MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
/**
* @brief actionNewProject Allows the user to create a new project
*/
void actionNewProject();
/**
* @brief actionOpenProject Allows the user to open a project
*/
void actionOpenProject();
/**
* @brief actionNewProject Allows the user to open an example project
*/
void actionOpenExampleProject();
/**
* @brief actionNewProject Allows the user to save a project
*/
void actionSaveProject();
/**
* @brief actionNewProject Allows the user to save a new project under a new name
*/
void actionSaveProjectAs();
/**
* @brief actionAddProperty Allows the user to add a property
*/
void actionAddProperty();
/**
* @brief actionFindAndReplace Allows the user to find and replace strings in the text editor
*/
void actionFindAndReplace();
/**
* @brief actionParse Allows the user to parse the current specification
*/
void actionParse();
/**
* @brief actionSimulate Allows the user to simulate the current specification
*/
void actionSimulate();
/**
* @brief actionCreateLTS Allows the user to create the LTS of the current specification
*/
void actionCreateLTS();
/**
* @brief actionCreateReducedLTS Allows the user to create a reduced LTS of the current specification
*/
void actionCreateReducedLTS();
/**
* @brief actionAbortLTSCreation Allows the user to abort LTS creation
*/
void actionAbortLTSCreation();
/**
* @brief actionVerifyAllProperties Allows the user to verify all defined properties on the current specification
*/
void actionVerifyAllProperties();
/**
* @brief actionAbortVerification Allows the user to abort verification
*/
void actionAbortVerification();
private:
/**
* @brief setupMenuBar Creates the menubar, also creates the actions and their icons and shortcuts (if applicable)
*/
void setupMenuBar();
/**
* @brief setupToolbar Creates the toolbar
*/
void setupToolbar();
/**
* @brief setDocksToDefault Puts all docks in their default location
*/
void setDocksToDefault();
/**
* @brief setupDocks Creates the docks
*/
void setupDocks();
QAction *newProjectAction;
QAction *openProjectAction;
QAction *openExampleProjectAction;
QAction *saveProjectAction;
QAction *saveProjectAsAction;
QAction *addPropertyAction;
QAction *undoAction;
QAction *redoAction;
QAction *findAndReplaceAction;
QAction *cutAction;
QAction *copyAction;
QAction *pasteAction;
QAction *deleteAction;
QAction *selectAllAction;
QAction *parseAction;
QAction *simulateAction;
QAction *createLTSAction;
QAction *createReducedLTSAction;
QAction *abortLTSCreationAction;
QAction *verifyAllPropertiesAction;
QAction *abortVerificationAction;
QMenu *viewMenu;
QToolBar *toolbar;
CodeEditor *specificationEditor;
PropertiesDock *propertiesDock;
ConsoleDock *consoleDock;
RewriteDock *rewriteDock;
SolveDock *solveDock;
FindAndReplaceDialog *findAndReplaceDialog;
AddEditPropertyDialog *addPropertyDialog;
FileSystem *fileSystem;
ProcessSystem *processSystem;
};
#endif // MAINWINDOW_H