-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmainwindow.h
executable file
·123 lines (102 loc) · 2.57 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
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <include/Editor.h>
#include <assembler/include/precom.h>
#include <include/Simulate.h>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow();
~MainWindow();
enum FileStatus {Modified, Saved, NewFile};
FileStatus fileStatus = FileStatus::NewFile;
std::tuple<QString, QString> getFileStatus(const FileStatus&);
private slots:
void setFileStatus(const FileStatus&);
void newFile();
void openFile();
bool save();
bool saveAs();
void openRecentFile();
void Exit();
void copy();
void cut();
void paste();
void undo();
void redo();
void pref();
void find();
void findAndReplace();
void stepInto();
void stepOut();
void run();
void kill();
void pause();
void Continue();
void updateStatusBar();
void about();
private:
QTabWidget *tabWidget;
Editor *editorWidget;
Simulate *simulateWidget;
void initUi();
void createActions();
void createMenus();
void createContextMenu();
void createToolBars();
void createStatusBar();
void readSettings();
void writeSettings();
bool loadFile(const QString& fileName);
bool saveFile(const QString& fileName);
void updateCurrentFileActions();
/* QString strippedName (const QString& fullFileName); */
bool okToContinue();
void setCurrentFileName(const QString&);
QStringList recentFiles;
QString shownFileName;
QString currentFileName;
enum {MaxRecentFiles = 5};
enum Mode {Editing, Simulation, Debugging};
//file
QAction *newAction;
QAction *openAction;
QAction *saveAction;
QAction *separatorAction;
QAction *recentFileActions[MaxRecentFiles];
QAction *saveAsAction;
QAction *exitAction;
//edit
QAction *copyAction;
QAction *cutAction;
QAction *pasteAction;
QAction *undoAction;
QAction *redoAction;
QAction *prefAction;
QAction *findAction;
QAction *findAndReplaceAction;
//simulate
QAction *runAction;
QAction *pauseAction;
QAction *continueAction;
QAction *stepIntoAction;
QAction *stepOutAction;
QAction *killAction;
//help
QAction *aboutAction;
QMenu *fileMenu;
QMenu *editMenu;
QMenu *SimulateMenu;
QMenu *helpMenu;
QMenu *contextMenu;
QToolBar *fileToolBar;
QToolBar *editToolBar;
QToolBar *simulateToolBar;
QLabel *fileStatusLabel;
QLabel *cursorLabel;
QLabel *totalLinesLabel;
QLabel *ModeLabel;
};
#endif // MAINWINDOW_H