addnormalitem.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #ifndef ADDNORMALITEM_H
  2. #define ADDNORMALITEM_H
  3. #include <QDialog>
  4. #include <QTime>
  5. #include <QComboBox>
  6. class TimeWidget;
  7. class DeviceInfo;
  8. namespace Ui {
  9. class AddNormalItem;
  10. }
  11. class AddNormalItem : public QDialog
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit AddNormalItem(QWidget *parent = nullptr);
  16. ~AddNormalItem();
  17. /* 设置父指针,时间选择器需要使用 */
  18. void setParentPointer(QWidget* p);
  19. /* 添加可选设备 */
  20. void setDevice(QMap<QString, DeviceInfo>& mapDev);
  21. /* 设置周几 */
  22. void setWeekDay(int week);
  23. /* 获取设别名称 */
  24. QString getDevName() const { return m_devName; }
  25. /* 获取动作 */
  26. QString getAction() const { return m_action; }
  27. /* 获取时间 */
  28. QTime getTime() const { return m_time; }
  29. /* 判断是否添加设备 */
  30. bool isAddDev() const { return m_isAddDev; }
  31. signals:
  32. /* 添加正常日期的项 */
  33. void signal_addNormalItem(QString dev,QString action,QTime time);
  34. private slots:
  35. /* 进行查重和关闭页面 */
  36. void do_ok();
  37. /* 选择了设备,设置其对应的动作 */
  38. void do_selectDev();
  39. /* 选择了动作 */
  40. void do_selectAction();
  41. /* 点击了时间选择按钮,打开时间选择器 */
  42. void do_selectTime();
  43. private:
  44. /* 设置选择框报警 */
  45. void setComboBoxWarning(QComboBox* bo,bool flag);
  46. /* 设置时间报警 */
  47. void setTimeEditWarning(bool flag);
  48. void setAction(const QString& devName);
  49. protected:
  50. /* 事件过滤器 */
  51. bool eventFilter(QObject *watched, QEvent *event) override;
  52. private:
  53. Ui::AddNormalItem *ui;
  54. QWidget* m_parent = nullptr; /* 父类指针 */
  55. QRect m_rectScreen; /* 屏幕大小 */
  56. int m_week = -1; /* 周几 */
  57. bool m_isAddDev = false; /* 是否添加设备 */
  58. QString m_devName; /* 选择的设备 */
  59. QString m_action; /* 选择的动作 */
  60. QTime m_time; /* 执行的时间 */
  61. TimeWidget* m_timeWidget = nullptr; /* 时间选择器 */
  62. };
  63. #endif // ADDNORMALITEM_H