#ifndef DATATABLEWIDGET_H #define DATATABLEWIDGET_H #include #include "SchemePlanManager.h" class CMind; class ProjectInfo; class PushButton; class QLabel; class QTabWidget; class QVBoxLayout; class QHBoxLayout; /** * @brief The DataTableWidget class * 数据表, 整体上是包含多个 QTableView 的 QTabWidget */ class DataTableWidget : public QWidget { Q_OBJECT public: explicit DataTableWidget(SchemePlanManager::SchemeProcessInfo process, QWidget *parent = nullptr); SchemePlanManager::SchemeProcessInfo process() const; void initWidget(); void initLayout(); void connectSignalsAndSlots(); void setupTabWidget(); int currentPage() const; void setCurrentPage(int p); void updateCurrentTable(); CMind *mind1() const; CMind *mind2() const; signals: public slots: void slotPrevious(); void slotNext(); void slotTabCurrentChanged(int c); private: SchemePlanManager::SchemeProcessInfo m_process; int m_currentPage = 0; CMind *m_mind1 = nullptr; CMind *m_mind2 = nullptr; QTabWidget *m_dataTab = nullptr; QLabel *m_pageLab = nullptr; // 共4页, 当前第2页 PushButton *m_previous = nullptr; // 上一级指标 PushButton *m_next = nullptr; // 下一级指标 QVBoxLayout *m_layout = nullptr; QHBoxLayout *m_pageLayout = nullptr; bool m_isSettingTable = false; }; #endif // DATATABLEWIDGET_H