#pragma once #include #include #include namespace Ui { class MainWindow; } 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 QtOsgViewWidget* GetViewWidget() const { return qtOsgViewWidget_; } class FitCurveDialog* GetFitCurveDlg() const { return fitCurveDlg_; } class FitCurveDialog* GetFitYLgCurveDlg() const { return fitYLgCurveDlg_; } class SurfaceDialog* GetSurfaceDlg() const { return surfaceDlg_; } void slotShowUISetting(); public slots: void slotResetWorkSpace(); private: void InitUI(); void InitDockLayout(); void AddDockArea(const QString& strArea); protected: void OnTabifiedDockWidgetActivated(QDockWidget* dockWidget); private: Ui::MainWindow* ui; class ModelBrowser* modelBrowser_{ nullptr }; class PropertyBrowser* propertyBrowser_{ nullptr }; class QWebEngineView* webEngineView_{ nullptr }; class QtOsgViewWidget* qtOsgViewWidget_{ nullptr }; class FitCurveDialog* fitCurveDlg_{ nullptr }; class FitCurveDialog* fitYLgCurveDlg_{ nullptr }; class SurfaceDialog* surfaceDlg_{ nullptr }; class LayoutSettingUI* pSettingUI{ nullptr }; class TargetListWgt* targetUITable_{ nullptr }; class QTabWidget* tabWidget_{ nullptr }; class SignalIndicatorLampUI* signalIndicatorLampUI_{ nullptr }; class CodeEdtUI* matlabFileDlg_{ nullptr }; class AddParamSetting* addParamDlg_{ nullptr }; QMap m_mapDockWidget; };