54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <QMainWindow>
|
|
|
|
class FileBrowserWidget;
|
|
class CodeEditorWidget;
|
|
class CompileProcessManager;
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MainWindow(QWidget *parent = nullptr);
|
|
~MainWindow();
|
|
|
|
private slots:
|
|
void onActionNewFile();
|
|
void onActionOpenFile();
|
|
void onActionSaveFile();
|
|
void onActionExit();
|
|
|
|
void onActionBuild();
|
|
void onActionRun();
|
|
|
|
// 后端编译结果回调
|
|
void onCompileFinished(const QString &stdoutText,
|
|
const QString &stderrText,
|
|
int exitCode);
|
|
|
|
private:
|
|
void createActions();
|
|
void createMenus();
|
|
void setupCentralWidgets();
|
|
void connectSignals();
|
|
|
|
private:
|
|
// UI 部件
|
|
FileBrowserWidget *m_fileBrowser = nullptr;
|
|
CodeEditorWidget *m_codeEditor = nullptr;
|
|
|
|
// 后端模块
|
|
CompileProcessManager *m_compileManager = nullptr;
|
|
|
|
// 菜单动作
|
|
QAction *m_actNew = nullptr;
|
|
QAction *m_actOpen = nullptr;
|
|
QAction *m_actSave = nullptr;
|
|
QAction *m_actExit = nullptr;
|
|
|
|
QAction *m_actBuild = nullptr;
|
|
QAction *m_actRun = nullptr;
|
|
};
|