OriginalWnd.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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 "CViewInterface.h"
  17. QT_BEGIN_NAMESPACE
  18. namespace Ui {
  19. class OriginalWnd;
  20. }
  21. QT_END_NAMESPACE
  22. // 3个切换窗口
  23. enum EN_WND_SWITCH
  24. {
  25. ChartsAnd = 1,
  26. MainAndSecondary,
  27. SingleCameraOperation
  28. };
  29. class OriginalWnd : public QMainWindow
  30. {
  31. Q_OBJECT
  32. public:
  33. explicit OriginalWnd(QWidget* parent = nullptr, CameraBind* pCameraBind = nullptr);
  34. ~OriginalWnd();
  35. /**相机初始化
  36. */
  37. void CameraBindInit(CameraBind* pCameraBind);
  38. /**所有接口初始化
  39. */
  40. void RegFun();
  41. QWidget* getWidgetLeft() const; // 访问 widget 的接口
  42. /**切换配置
  43. *
  44. */
  45. void SwitchToConfig(const QString& name, int configId, int menuArrayIndex, bool isMenuArray = true);
  46. // 切换不同配置
  47. void switchToHomeConfig();
  48. void switchToProductionConfig();
  49. void switchToDiagnosisConfig();
  50. void switchToDispositionConfig();
  51. void switchToModuleConfig();
  52. void switchToProgramConfig();
  53. void switchToSystemConfig();
  54. void setChineseMode(QMainWindow* OriginalWnd);
  55. protected:
  56. bool eventFilter(QObject* obj, QEvent* event) override;
  57. void timerEvent(QTimerEvent* event) override;
  58. void InitForm(); // 初始化表单控件
  59. /**更新当前时间
  60. */
  61. void UpdateTime();
  62. /**释放收尾
  63. */
  64. void Del();
  65. /**切换快捷侧边按钮
  66. */
  67. void RunOrStopSwitch();
  68. private slots:
  69. void on_ChartButton_clicked();
  70. void on_DoubleImageButton_clicked();
  71. void on_SingleImageButton_clicked();
  72. void on_startButton_clicked();
  73. void on_stopButton_clicked();
  74. public slots:
  75. void onHandleLanguageSignal(const int& data);
  76. void JRunFunSlots(ns_module::ST_BUTTON_FUN pra);
  77. private:
  78. /**设置当前选中窗口
  79. */
  80. void SwitchMainPage(JOriginalMainWnd* pWnd, QToolButton* tooBut);
  81. /**创建选中窗口
  82. */
  83. void CreateSwitchMainPage(int nlastIndex = -1);
  84. private:
  85. Ui::OriginalWnd* ui;
  86. /**相机绑定接口
  87. */
  88. std::unique_ptr<CameraBind> m_pCameraBind;
  89. /**保存当前切换窗口
  90. */
  91. QPointer<JOriginalMainWnd> m_pJOriginalMainWnd;
  92. /**树视图管理
  93. */
  94. std::unique_ptr<DbTreeViewManager> m_pdbTreeViewManager;
  95. /**数据库
  96. */
  97. Gen_Interface gen_if;
  98. /**相机分配,观察页面以及相机变化
  99. */
  100. CameraDistribute* m_pCameraDistribute;
  101. /**Loop 时间
  102. */
  103. int m_nTimerID = -1;
  104. /**快捷按钮切换用
  105. */
  106. bool m_isDisabled = true;
  107. };
  108. #endif // ORIGINALWND_H