XNSim/XNPortal/mainwindow.h
2025-04-28 12:25:20 +08:00

110 lines
1.6 KiB
C++
Executable File

/**
* @file mainwindow.h
* @author jinchao
* @brief 主窗口类
* @version 1.0
* @date 2025-02-14
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QVBoxLayout>
QT_BEGIN_NAMESPACE
namespace Ui
{
class MainWindow;
}
QT_END_NAMESPACE
/**
* @brief 主窗口类
*/
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
/**
* @brief 构造函数
* @param parent 父窗口
*/
MainWindow(QWidget *parent = nullptr);
/**
* @brief 析构函数
*/
~MainWindow();
protected:
/**
* @brief 鼠标按下事件
* @param event 事件
*/
void mousePressEvent(QMouseEvent *event) override;
/**
* @brief 鼠标移动事件
* @param event 事件
*/
void mouseMoveEvent(QMouseEvent *event) override;
/**
* @brief 鼠标释放事件
* @param event 事件
*/
void mouseReleaseEvent(QMouseEvent *event) override;
private:
/**
* @brief 启动进程
* @param programName 程序名称
*/
void startProcess(const QString &programName);
/**
* @brief 主窗口ui
*/
Ui::MainWindow *ui;
/**
* @brief 当前索引
*/
int currentIndex;
/**
* @brief XNIDLGen信息
*/
QString XNIDLGenInfo;
/**
* @brief XNWrapper信息
*/
QString XNWrapperInfo;
/**
* @brief XNEditor信息
*/
QString XNEditorInfo;
/**
* @brief XNRunner信息
*/
QString XNRunnerInfo;
/**
* @brief XNMonitor信息
*/
QString XNMonitorInfo;
/**
* @brief XNSysMonitor信息
*/
QString XNSysMonitorInfo;
/**
* @brief 是否拖拽
*/
bool m_dragging = false;
/**
* @brief 拖拽位置
*/
QPoint m_dragPosition;
};
#endif // MAINWINDOW_H