oneitem.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef ONEITEM_H
  2. #define ONEITEM_H
  3. #include <QWidget>
  4. #include <QTimer>
  5. #include "TransmitterSwitchInfo.h"
  6. namespace Ui {
  7. class OneItem;
  8. }
  9. class OneItem : public QWidget
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit OneItem(QWidget *parent = nullptr, bool isSpecial = false);
  14. ~OneItem();
  15. /* 设置序号 */
  16. void setNum(int num);
  17. /* 获取序号 */
  18. int getNum();
  19. /* 设置日期 */
  20. void setDate(const QDate& date);
  21. /* 获取日期 */
  22. QDate getDate();
  23. /* 设置执行时间 */
  24. void setExecTime(const QTime& time);
  25. /* 获取执行时间 */
  26. QTime getExecTime();
  27. /* 设置设备名称 */
  28. void setDevName(const QString& dev);
  29. /* 获取设备名称 */
  30. QString getDevName();
  31. /* 通过动作名称设置动作 */
  32. void setActionName(const QString &action);
  33. /* 获取动作名称 */
  34. QString getActionName();
  35. /* 获取动作类型 */
  36. int getActionNum();
  37. /* 添加设备 */
  38. void addDevice(const QMap<QString, DeviceInfo>& mapDev);
  39. /* 获取日期类型 */
  40. bool getDateType();
  41. /* 设置警告 */
  42. void setWarningText(QString str,int ms = 3000);
  43. /* 隐藏警告 */
  44. void hideWarn();
  45. signals:
  46. /* 一个OneItem被删除了 */
  47. void signal_OneItemDelete(int num);
  48. /* 日期被点击了 */
  49. void signal_dateClicked(QDate date);
  50. /* 执行时间被点击了 */
  51. void signal_execTimeClicked(QTime time);
  52. /* 设备改变了 */
  53. void signal_devChanged();
  54. private slots:
  55. /* 设备改变了 */
  56. void do_devChanged(QString devName);
  57. /* 动作改变了 */
  58. void do_actionChanged(QString action);
  59. /* 执行时间被点击了 */
  60. void do_pBtn_execTime_clicked();
  61. /* 执行日期被点击了 */
  62. void do_pBtn_execDate_clicked();
  63. private:
  64. /* 根据日期类型布局 */
  65. void layoutInit();
  66. protected:
  67. /* 事件过滤器 */
  68. bool eventFilter(QObject *watched, QEvent *event);
  69. private:
  70. Ui::OneItem *ui;
  71. bool m_isSpecial = false;
  72. QTimer m_warnTimer;
  73. DeviceInfo m_devInfo;
  74. };
  75. #endif // ONEITEM_H