noisewidget.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef NOISEWIDGET_H
  2. #define NOISEWIDGET_H
  3. #include <QWidget>
  4. #include "spdlog/spdlog.h"
  5. #include "SystemConfigStruct.h"
  6. class FromWebAPI;
  7. namespace Ui {
  8. class NoiseWidget;
  9. }
  10. class NoiseWidget : public QWidget
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit NoiseWidget(QWidget *parent = nullptr);
  15. ~NoiseWidget();
  16. /* 设置WebAPI */
  17. void setWebAPI(FromWebAPI* api) { m_fromWebAPI = api; }
  18. /* 保存参数 */
  19. bool saveConfig();
  20. /* 判断数据是否修改了 */
  21. bool isDataChanged();
  22. private slots:
  23. /* 修改噪音参数 */
  24. void do_pBtn_editNoiseParam_clicked();
  25. /* 恢复配置项 */
  26. void do_pBtn_restore_clicked();
  27. private:
  28. /* 判断基础数据是否修改了 */
  29. bool isDataChangedBaseConfig();
  30. /* 判断噪音检测参数是否修改了 */
  31. bool isDataChangedNoiseDetectParam();
  32. /* 保存基础参数 */
  33. bool saveBaseConfig();
  34. /* 保存噪音检测参数 */
  35. bool saveNoiseDetectParam();
  36. /* 设置报警 */
  37. void setWarn(QWidget* widget, bool isWarn);
  38. /* 取消全部报警 */
  39. void cancelAllWarn();
  40. private:
  41. Ui::NoiseWidget *ui;
  42. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  43. FromWebAPI* m_fromWebAPI = nullptr; // 用于从Web API获取数据
  44. NoiseDetectBaseConfig_t m_noiseDetectBaseConfig; // 噪音检测基础配置
  45. NoiseDetectParam_t m_noiseDetectParam; // 噪音检测参数
  46. };
  47. #endif // NOISEWIDGET_H