DYTSrouce/src/ui/MainWindow.h
2025-10-27 23:25:31 +08:00

81 lines
2.0 KiB
C++

#pragma once
#include <QMainWindow>
#include <qdockwidget.h>
#include <QMap>
#include "chartPlot/ChartXMLMgr.h"
namespace Ui {
class MainWindow;
}
class DataPanelManager;
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget* parent = 0);
~MainWindow() override;
class PropertyBrowser* GetPropertyBrowser() const {
return propertyBrowser_;
}
class ModelBrowser* GetModelBrowser() const {
return modelBrowser_;
}
class OsgWidget* GetViewWidget() const {
return qtOsgViewWidget_;
}
class FitCurveDialog* GetFitCurveDlg() const {
return fitCurveDlg_;
}
class FitCurveDialog* GetFitYLgCurveDlg() const {
return fitYLgCurveDlg_;
}
class SurfaceDialog* GetSurfaceDlg() const {
return surfaceDlg_;
}
DataPanelManager* GetDataPanelManager() const {
return dataPanelManager_;
}
public slots:
void slotResetWorkSpace();
private:
void InitUI();
void UninitUI();
void InitChartLayout();
QDockWidget *InitChart(QVariantMap mapChart, QMainWindow* mainWindow);
QDockWidget *InitCurveChart(QVariantMap mapChart, QMainWindow* mainWindow);
private:
Ui::MainWindow* ui;
class ModelBrowser* modelBrowser_{ nullptr };
class PropertyBrowser* propertyBrowser_{ nullptr };
class QWebEngineView* webEngineView_{ nullptr };
class OsgWidget* qtOsgViewWidget_{ nullptr };
class FitCurveDialog* fitCurveDlg_{ nullptr };
class FitCurveDialog* fitYLgCurveDlg_{ nullptr };
class SurfaceDialog* surfaceDlg_{ nullptr };
class TargetListWgt* targetUITable_{ nullptr };
class QTabWidget* tabWidget_{ nullptr };
class SignalIndicatorLampUI* signalIndicatorLampUI_{ nullptr };
class CodeEdtUI* matlabFileDlg_{ nullptr };
class AddParamSetting* addParamDlg_{ nullptr };
DataPanelManager* dataPanelManager_{ nullptr };
QMap<QString, QDockWidget*> m_mapDockWidget;
ChartXMLMgr m_mgrChart;
QMap<QString, QDockWidget*> m_mapChartWidget;
};