99 lines
2.5 KiB
C++
99 lines
2.5 KiB
C++
#ifndef DASHBOARDFRAME_H
|
|
#define DASHBOARDFRAME_H
|
|
|
|
#include <QWidget>
|
|
#include "global.h"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui {
|
|
class dashboardFrame;
|
|
}
|
|
QT_END_NAMESPACE
|
|
|
|
class TransparentMask;
|
|
class MessageDialog;
|
|
class CustomTabBar;
|
|
class Dashboard;
|
|
class DashboardNamingDialog;
|
|
class PanelSelectionDialog;
|
|
class DateTimeWidget;
|
|
|
|
namespace dashboardFrame {
|
|
enum frameType
|
|
{
|
|
ft_main = 0,
|
|
ft_secondary
|
|
};
|
|
}
|
|
|
|
class DashboardFrame : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
DashboardFrame(const QString&, QWidget *parent = nullptr);
|
|
~DashboardFrame();
|
|
|
|
CustomTabBar* tabBar();
|
|
|
|
void setType(dashboardFrame::frameType);
|
|
void insertDashboard(int, Dashboard*);
|
|
void removeDashboard(const QString&, bool);
|
|
|
|
private:
|
|
void showTransparentMask();
|
|
void hideTransparentMask();
|
|
|
|
void addDashboard(const QString&);
|
|
void setCurrentDashboard(const QString&);
|
|
|
|
protected:
|
|
bool eventFilter(QObject*, QEvent*) override;
|
|
void dragEnterEvent(QDragEnterEvent* event) override;
|
|
//void dragMoveEvent(QDragMoveEvent* event) override;
|
|
void dragLeaveEvent(QDragLeaveEvent* event) override;
|
|
void dropEvent(QDropEvent* event) override;
|
|
|
|
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::dashboardFrame* ui;
|
|
QString m_strName;
|
|
dashboardFrame::frameType m_type;
|
|
QWidget* m_pParentWindow;
|
|
TransparentMask* m_pTransparentMask;
|
|
MessageDialog* m_pMessageDialog;
|
|
CustomTabBar* m_pDashboardTabBar;
|
|
|
|
QList<Dashboard*> m_listDashboard;
|
|
Dashboard* m_curActiveDashboard;
|
|
Dashboard* m_curOperationDashboard;
|
|
|
|
DashboardNamingDialog* m_pDashboardNamingDialog;
|
|
PanelSelectionDialog* m_pPanelSelectionDialog;
|
|
DateTimeWidget* m_pDateTimeWidget;
|
|
};
|
|
|
|
#endif
|