#ifndef DVIEMAINWINDOW_H #define DVIEMAINWINDOW_H #include #include "global.h" QT_BEGIN_NAMESPACE namespace Ui { class dvieMainWindow; } QT_END_NAMESPACE class TransparentMask; class MessageDialog; class CustomTabBar; class Dashboard; class DashboardNamingDialog; class PanelSelectionDialog; class DateTimeWidget; class DvieMainWindow : public QMainWindow { Q_OBJECT public: DvieMainWindow(QWidget *parent = nullptr); ~DvieMainWindow(); private: void showTransparentMask(); void hideTransparentMask(); void addDashboard(const QString&); void removeDashboard(const QString&, bool); void setCurrentDashboard(const QString&); protected: bool eventFilter(QObject*, QEvent*); public: void showMessageDialog(MessageDialogType,const QString&,const QString&); public slots: void onSignal_showMask(); void onSignal_hideMask(); void onBtnClicked_addDashboard(); void onBtnClicked_addDataPanel(); void onBtnClicked_dashboardList(); void onBtnClicked_dashboardTab(); void onMenuAction_dashboardList(); void onSignal_subDialogClose(); void onSignal_renameDashboard(); void onSignal_removeDashboard(); void onSignal_dashboardNaming(const QString&, const QString&); void onSignal_dashboardTabMoved(int, int); //拖动tab引发了位置变化 void onSignal_panelSelectResult(const QString&); void onSignal_viewHistoricalData(QDateTime); private: Ui::dvieMainWindow* ui; TransparentMask* m_pTransparentMask; MessageDialog* m_pMessageDialog; CustomTabBar* m_pDashboardTabBar; QList m_listDashboard; Dashboard* m_curActiveDashboard; Dashboard* m_curOperationDashboard; DashboardNamingDialog* m_pDashboardNamingDialog; PanelSelectionDialog* m_pPanelSelectionDialog; DateTimeWidget* m_pDateTimeWidget; }; #endif