ProgrammPage.cpp 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #include "ProgrammPage.h"
  2. #include "QTimer"
  3. #include "Src/Common/JSignalSlotManager.h"
  4. ProgrammPage::ProgrammPage(QWidget *parent)
  5. : QWidget(parent)
  6. {
  7. ui.setupUi(this);
  8. //this->setAttribute(Qt::WA_DeleteOnClose);
  9. ui.tabWidget->tabBar()->setStyleSheet("QTabBar::tab { min-width: 50px; max-width: 80px; }");
  10. InitPage();
  11. }
  12. ProgrammPage::~ProgrammPage()
  13. {
  14. //qDebug() << "enter sedtruct function !!!";
  15. }
  16. void ProgrammPage::InitPage()
  17. {
  18. m_pTempControlPage = new TempControlPage;
  19. ui.ProgramPage->addTab(m_pTempControlPage, tr("Temperature control", "温度控制"));
  20. // 连接选项卡切换信号
  21. connect(ui.tabWidget, &QTabWidget::currentChanged, this, &ProgrammPage::onTabChanged);
  22. onTabChanged(0);
  23. }
  24. void ProgrammPage::onTabChanged(int index)
  25. {
  26. switch (index)
  27. {
  28. case 0: // Bond Matrix 页面
  29. if (!m_BondMatrixProgramPage)
  30. {
  31. qDebug() << "创建 BondMatrixProgramPage";
  32. m_BondMatrixProgramPage = new BondMatrixProgramPage(this);
  33. ui.verticalLayoutBondMatrix->addWidget(m_BondMatrixProgramPage);
  34. }
  35. break;
  36. case 1: // Wafer 页面
  37. if (!m_WaferProgramPage)
  38. {
  39. qDebug() << "创建 WaferProgramPage";
  40. m_WaferProgramPage = new WaferProgramPage(this);
  41. ui.verticalLayoutWaferMatrix->addWidget(m_WaferProgramPage);
  42. }
  43. break;
  44. case 2: // Waffle 页面
  45. if (!m_pWaffleProgrammPage)
  46. {
  47. qDebug() << "创建 WaffleProgramPage";
  48. m_pWaffleProgrammPage = new WaffleProgramPage(this);
  49. ui.verticalLayoutWaffleMatrix->addWidget(m_pWaffleProgrammPage);
  50. }
  51. break;
  52. case 3: // Template 页面
  53. if (!m_TemplateProgramPage)
  54. {
  55. qDebug() << "创建 TemplateProgramPage";
  56. m_TemplateProgramPage = new TemplateProgramPage(this);
  57. ui.verticalLayoutTemplate->addWidget(m_TemplateProgramPage);
  58. }
  59. break;
  60. }
  61. // 如果当前页不是 Template 页面,发送信号
  62. if (index != 3) {
  63. if (m_TemplateProgramPage && m_TemplateProgramPage->m_StrategyOrTemplateChanged) {
  64. qDebug() << "切换离开 Template 页面,发送信号";
  65. QTSignalSlotManager::get_instance()->SendSignalUpdateBondMatrixTemplateID(1, -1);
  66. m_TemplateProgramPage->m_StrategyOrTemplateChanged = false;
  67. }
  68. }
  69. }