first commit
This commit is contained in:
105
mainwindow.h
Normal file
105
mainwindow.h
Normal file
@@ -0,0 +1,105 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QStackedWidget>
|
||||
#include <QPropertyAnimation>
|
||||
#include <QParallelAnimationGroup>
|
||||
#include <QVector>
|
||||
#include "widgets/statusbar.h"
|
||||
#include "widgets/launcherpage.h"
|
||||
#include "widgets/pageindicator.h"
|
||||
#include "widgets/dockbar.h"
|
||||
#include "widgets/procedurelistwidget.h"
|
||||
#include "widgets/procedureplayerwidget.h"
|
||||
#include "widgets/signalmeasurementwidget.h"
|
||||
#include "widgets/settingswidget.h"
|
||||
#include "widgets/datamanagementwidget.h"
|
||||
#include "widgets/wirelesswidget.h"
|
||||
#include "widgets/networktestwidget.h"
|
||||
#include "widgets/waveformwidget.h"
|
||||
#include "widgets/dualchannelwidget.h"
|
||||
#include "widgets/signaltrimwidget.h"
|
||||
#include "utils/configmanager.h"
|
||||
#include "procedure/proceduremanager.h"
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void mouseMoveEvent(QMouseEvent *event) override;
|
||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void onAppClicked(const QString &appId);
|
||||
void onDockAppClicked(const QString &appId);
|
||||
void goToPage(int pageIndex);
|
||||
void animatePageTransition(int fromPage, int toPage);
|
||||
|
||||
// 规程播放器相关
|
||||
void onProcedureSelected(const QString &procedureId);
|
||||
void onBackToLauncher();
|
||||
void onBackToLauncherFromSignal();
|
||||
|
||||
private:
|
||||
void setupUI();
|
||||
void setupPages();
|
||||
void setupProcedurePlayer();
|
||||
void setupSignalMeasurement();
|
||||
void loadConfig();
|
||||
void handleSwipe(int deltaX);
|
||||
void openApplication(const QString &appId);
|
||||
void showLauncher();
|
||||
void showProcedureList();
|
||||
void showProcedurePlayer(const QString &procedureId);
|
||||
void showSignalMeasurement(const QString &appId = QString());
|
||||
|
||||
// UI 组件
|
||||
QWidget *m_centralWidget;
|
||||
StatusBar *m_statusBar;
|
||||
QWidget *m_pageContainer;
|
||||
QStackedWidget *m_stackedWidget;
|
||||
QVector<LauncherPage *> m_pages;
|
||||
PageIndicator *m_pageIndicator;
|
||||
DockBar *m_dockBar;
|
||||
|
||||
// 规程播放器组件
|
||||
QStackedWidget *m_mainStackedWidget; // 主视图切换
|
||||
QWidget *m_launcherContainer;
|
||||
ProcedureListWidget *m_procedureListWidget;
|
||||
ProcedurePlayerWidget *m_procedurePlayerWidget;
|
||||
ProcedureManager *m_procedureManager;
|
||||
|
||||
// 信号测量组件
|
||||
SignalMeasurementWidget *m_signalMeasurementWidget;
|
||||
|
||||
// 设置和数据管理组件
|
||||
SettingsWidget *m_settingsWidget;
|
||||
DataManagementWidget *m_dataManagementWidget;
|
||||
WirelessWidget *m_wirelessWidget;
|
||||
NetworkTestWidget *m_networkTestWidget;
|
||||
WaveformWidget *m_waveformWidget;
|
||||
DualChannelWidget *m_dualChannelWidget;
|
||||
SignalTrimWidget *m_signalTrimWidget;
|
||||
|
||||
// 配置
|
||||
ConfigManager *m_configManager;
|
||||
|
||||
// 页面状态
|
||||
int m_currentPage;
|
||||
int m_totalPages;
|
||||
|
||||
// 滑动手势
|
||||
QPoint m_swipeStartPos;
|
||||
bool m_isSwiping;
|
||||
int m_swipeThreshold;
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
Reference in New Issue
Block a user