noisewidget.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. private:
  37. Ui::NoiseWidget *ui;
  38. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  39. FromWebAPI* m_fromWebAPI = nullptr; // 用于从Web API获取数据
  40. NoiseDetectBaseConfig_t m_noiseDetectBaseConfig; // 噪音检测基础配置
  41. NoiseDetectParam_t m_noiseDetectParam; // 噪音检测参数
  42. };
  43. #endif // NOISEWIDGET_H