1
- #ifndef MAINWINDOW_H
2
- #define MAINWINDOW_H
3
-
4
- #include " CodeEditor.h"
5
- #include " Syntax.h"
6
- #include " Tree.h"
7
-
8
- #include < QMainWindow>
9
- #include < QMenu>
10
- #include < QAction>
11
- #include < QIcon>
12
- #include < QKeySequence>
13
-
14
- class MainWindow : public QMainWindow
15
- {
16
- Q_OBJECT
17
-
18
- public:
19
- explicit MainWindow (QWidget *parent = nullptr );
20
- virtual ~MainWindow ();
21
- void loadFileInEditor (const QString &filePath);
22
- void initTree ();
23
-
24
- private slots:
25
- void newFile ();
26
- void openFile ();
27
- void saveFile ();
28
- void saveFileAs ();
29
- void showAbout ();
30
-
31
- private:
32
- void createMenuBar ();
33
- void createFileActions (QMenu *fileMenu);
34
- void createHelpActions (QMenu *helpMenu);
35
- void createAppActions (QMenu *appMenu);
36
- QAction *createAction (const QIcon &icon, const QString &text,
37
- const QKeySequence &shortcut, const QString &statusTip,
38
- void (MainWindow::*slot)());
39
- CodeEditor *editor;
40
- QString currentFileName;
41
- Syntax *syntax;
42
- Tree *tree;
43
- };
44
-
45
- #endif // MAINWINDOW_H
1
+ #pragma once
2
+
3
+ #include < QMainWindow>
4
+ #include < QMenu>
5
+ #include < QAction>
6
+ #include < QIcon>
7
+ #include < QKeySequence>
8
+ #include < memory>
9
+ #include < QFile>
10
+
11
+ class CodeEditor ;
12
+ class Syntax ;
13
+ class Tree ;
14
+
15
+ class MainWindow : public QMainWindow
16
+ {
17
+ Q_OBJECT
18
+
19
+ public:
20
+ explicit MainWindow (QWidget *parent = nullptr );
21
+ virtual ~MainWindow ();
22
+ void loadFileInEditor (const QString &filePath);
23
+ // Initialize the file tree view and set it as the central widget
24
+ // of the main window, alongside the code editor
25
+ void initTree ();
26
+
27
+ private slots:
28
+ void newFile ();
29
+ void openFile ();
30
+ void saveFile ();
31
+ void saveFileAs ();
32
+ void showAbout ();
33
+
34
+ private:
35
+ void createMenuBar ();
36
+ void createFileActions (QMenu *fileMenu);
37
+ void createHelpActions (QMenu *helpMenu);
38
+ void createAppActions (QMenu *appMenu);
39
+ QAction *createAction (const QIcon &icon, const QString &text,
40
+ const QKeySequence &shortcut, const QString &statusTip,
41
+ void (MainWindow::*slot)());
42
+ std::unique_ptr<CodeEditor> editor;
43
+ QString currentFileName;
44
+ std::unique_ptr<Syntax> syntax;
45
+ std::unique_ptr<Tree> tree;
46
+ };
0 commit comments