XNSim/XNMonitor/mainwindow.h

182 lines
3.6 KiB
C
Raw Permalink Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file mainwindow.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-03-10
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QVBoxLayout>
#include <QMenu>
#include <QAction>
#include <QMenuBar>
#include <QString>
#include <QMessageBox>
#include <QPushButton>
#include "SystemStatusWidget/SystemStatusWidget.h"
#include "ModelStatusWidget/ModelStatusWidget.h"
#include "DataMonitorWidget/DataMonitorWidget.h"
#include "DataCollectionWidget/DataCollectionWidget.h"
#include "DebugWidget/DebugWidget.h"
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();
private:
/**
* @brief
*/
void InitialMenuBar();
/**
* @brief
*/
void InitialCentralWidget();
/**
* @brief
*/
void InitialTabButton();
/**
* @brief
*/
void InitialSystemStatusWidget();
/**
* @brief
*/
void InitialModelStatusWidget();
/**
* @brief
*/
void InitialDataMonitorWidget();
/**
* @brief
*/
void InitialDataCollectionWidget();
public slots:
/**
* @brief
*/
void showSystemStatusContent();
/**
* @brief
*/
void showModelStatusContent();
/**
* @brief
*/
void showDataMonitoringContent();
/**
* @brief
*/
void showDataCollectionContent();
/**
* @brief /
*/
void toggleDebugWidget();
signals:
/**
* @brief
* @param index
*/
void setCurrentTabIndex(int index);
private:
/**
* @brief UI对象
*/
Ui::MainWindow *ui;
/**
* @brief
*/
QMenuBar *menuBar;
/**
* @brief
*/
QVBoxLayout *mainLayout;
/**
* @brief
*/
int currentTabIndex;
/**
* @brief
*/
QPushButton *systemStatusButton;
/**
* @brief
*/
QPushButton *modelStatusButton;
/**
* @brief
*/
QPushButton *dataMonitoringButton;
/**
* @brief
*/
QPushButton *dataCollectionButton;
/**
* @brief
*/
SystemStatusWidget *systemStatusWidget;
/**
* @brief
*/
ModelStatusWidget *modelStatusWidget;
/**
* @brief
*/
DataMonitorWidget *dataMonitorWidget;
/**
* @brief
*/
DataCollectionWidget *dataCollectionWidget;
/**
* @brief
*/
DebugWidget *debugWidget;
/**
* @brief
*/
QMenu *viewMenu;
/**
* @brief
*/
QAction *showDebugAction;
protected:
/**
* @brief
* @param event
*/
void moveEvent(QMoveEvent *event) override;
};
#endif // MAINWINDOW_H