DataTableWidget.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef DATATABLEWIDGET_H
  2. #define DATATABLEWIDGET_H
  3. #include <QWidget>
  4. #include "SchemePlanManager.h"
  5. class CMind;
  6. class ProjectInfo;
  7. class PushButton;
  8. class QLabel;
  9. class QTabWidget;
  10. class QVBoxLayout;
  11. class QHBoxLayout;
  12. /**
  13. * @brief The DataTableWidget class
  14. * 数据表, 整体上是包含多个 QTableView 的 QTabWidget
  15. */
  16. class DataTableWidget : public QWidget
  17. {
  18. Q_OBJECT
  19. public:
  20. explicit DataTableWidget(SchemePlanManager::SchemeProcessInfo process, QWidget *parent = nullptr);
  21. SchemePlanManager::SchemeProcessInfo process() const;
  22. void initWidget();
  23. void initLayout();
  24. void connectSignalsAndSlots();
  25. void setupTabWidget();
  26. int currentPage() const;
  27. void setCurrentPage(int p);
  28. void updateCurrentTable();
  29. CMind *mind1() const;
  30. CMind *mind2() const;
  31. signals:
  32. public slots:
  33. void slotPrevious();
  34. void slotNext();
  35. void slotTabCurrentChanged(int c);
  36. private:
  37. SchemePlanManager::SchemeProcessInfo m_process;
  38. int m_currentPage = 0;
  39. CMind *m_mind1 = nullptr;
  40. CMind *m_mind2 = nullptr;
  41. QTabWidget *m_dataTab = nullptr;
  42. QLabel *m_pageLab = nullptr; // 共4页, 当前第2页
  43. PushButton *m_previous = nullptr; // 上一级指标
  44. PushButton *m_next = nullptr; // 下一级指标
  45. QVBoxLayout *m_layout = nullptr;
  46. QHBoxLayout *m_pageLayout = nullptr;
  47. bool m_isSettingTable = false;
  48. };
  49. #endif // DATATABLEWIDGET_H