OriginalWnd.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. #pragma once
  2. #ifndef ORIGINALWND_H
  3. #define ORIGINALWND_H
  4. #include <QMainWindow>
  5. #include "DbTreeViewManager.h"
  6. #include <QVBoxLayout>
  7. #include <QJsonObject>
  8. #include <QDialog>
  9. #include <QRadioButton>
  10. #include <QButtonGroup>
  11. #include <QLabel>
  12. #include "gen_interface.h"
  13. #include "Src/CameraBind.h"
  14. #include "JOriginalMainWnd.h"
  15. #include "CameraDistribute.h"
  16. #include "Src/RewriteControl/Sidebar/LogStatePage.h"
  17. //#include "CViewInterface.h"
  18. QT_BEGIN_NAMESPACE
  19. namespace Ui {
  20. class OriginalWnd;
  21. }
  22. QT_END_NAMESPACE
  23. // 3个切换窗口
  24. enum EN_WND_SWITCH
  25. {
  26. ChartsAnd = 1,
  27. MainAndSecondary,
  28. SingleCameraOperation
  29. };
  30. class OriginalWnd : public QMainWindow
  31. {
  32. Q_OBJECT
  33. public:
  34. explicit OriginalWnd(QWidget* parent = nullptr, CameraBind* pCameraBind = nullptr);
  35. ~OriginalWnd();
  36. /**相机初始化
  37. */
  38. void CameraBindInit(CameraBind* pCameraBind);
  39. /**所有接口初始化
  40. */
  41. void RegFun();
  42. QWidget* getWidgetLeft() const; // 访问 widget 的接口
  43. /**切换配置
  44. *
  45. */
  46. void SwitchToConfig(const QString& name, int configId, int menuArrayIndex, bool isMenuArray = true);
  47. // 切换不同配置
  48. void switchToHomeConfig();
  49. void switchToProductionConfig();
  50. void switchToDiagnosisConfig();
  51. void switchToDispositionConfig();
  52. void switchToModuleConfig();
  53. void switchToProgramConfig();
  54. void switchToSystemConfig();
  55. void setChineseMode(QMainWindow* OriginalWnd);
  56. enum DEVICE_STATUS
  57. {
  58. IDLE,//停机待机
  59. RUNING,//生产
  60. CALIB,//校准
  61. WARN,//报警
  62. FAULT, //故障
  63. DIAGNOSE//诊断
  64. };
  65. enum CONNECT_STATUS
  66. {
  67. NO_CONNECT,//未连接 灰色
  68. CONNECT_ING,//连接中 黄色
  69. MACHINE_TIMEOUT,//机台超时 橙色
  70. HOST_TIMEOUT,//主机超时 蓝色
  71. CONNECT_OK,//连接成功 绿色
  72. };
  73. enum HOST_STATUS
  74. {
  75. HOST_OUT,//主机离线 黄色
  76. DEVICE_OUT,//设备离线 橙色
  77. DEVICE_ING,//设备试图连线 紫红色
  78. DEVICE_OK,//设备在线 蓝色
  79. HOST_CON_DEVICE,//主机控制设备 绿色
  80. };
  81. // 顶部状态栏
  82. void updateCalibrationButtonColor(enum DEVICE_STATUS status);
  83. void updateMachineLinkColor(enum CONNECT_STATUS status);
  84. void updateHostStatusColor(enum HOST_STATUS status);
  85. void StatusBar();
  86. protected:
  87. bool eventFilter(QObject* obj, QEvent* event) override;
  88. void timerEvent(QTimerEvent* event) override;
  89. void resizeEvent(QResizeEvent* event) override;
  90. void InitForm(); // 初始化表单控件
  91. void InitTreeViewManager();
  92. /**更新当前时间
  93. */
  94. void UpdateTime();
  95. /**释放收尾
  96. */
  97. void Del();
  98. /**切换快捷侧边按钮
  99. */
  100. void RunOrStopSwitch();
  101. private slots:
  102. void on_ChartButton_clicked();
  103. void on_DoubleImageButton_clicked();
  104. void on_SingleImageButton_clicked();
  105. void on_LogStatBut_clicked();
  106. void on_startButton_clicked();
  107. void on_stopButton_clicked();
  108. public slots:
  109. void onHandleLanguageSignal(const int& data);
  110. void JRunFunSlots(ns_module::ST_BUTTON_FUN pra);
  111. private:
  112. /**设置当前选中窗口
  113. */
  114. void SwitchMainPage(JOriginalMainWnd* pWnd, QToolButton* tooBut);
  115. /**创建选中窗口
  116. */
  117. void CreateSwitchMainPage(int nlastIndex = -1);
  118. private:
  119. Ui::OriginalWnd* ui;
  120. /**相机绑定接口
  121. */
  122. QPointer<CameraBind> m_pCameraBind;
  123. /**保存当前切换窗口
  124. */
  125. QPointer<JOriginalMainWnd> m_pJOriginalMainWnd;
  126. /**树视图管理
  127. */
  128. std::unique_ptr<DbTreeViewManager> m_pdbTreeViewManager;
  129. /**数据库
  130. */
  131. Gen_Interface gen_if;
  132. /**相机分配,观察页面以及相机变化
  133. */
  134. CameraDistribute* m_pCameraDistribute;
  135. /**Loop 时间
  136. */
  137. int m_nTimerID = -1;
  138. /**快捷按钮切换用
  139. */
  140. bool m_isDisabled = true;
  141. QPointer<LogStateSidebar> m_pLogStateSidebar;
  142. };
  143. #endif // ORIGINALWND_H