#ifndef ONEITEM_H #define ONEITEM_H #include #include #include "TransmitterSwitchInfo.h" namespace Ui { class OneItem; } class OneItem : public QWidget { Q_OBJECT public: explicit OneItem(QWidget *parent = nullptr, bool isSpecial = false); ~OneItem(); /* 设置序号 */ void setNum(int num); /* 获取序号 */ int getNum(); /* 设置日期 */ void setDate(const QDate& date); /* 获取日期 */ QDate getDate(); /* 设置执行时间 */ void setExecTime(const QTime& time); /* 获取执行时间 */ QTime getExecTime(); /* 设置设备名称 */ void setDevName(const QString& dev); /* 获取设备名称 */ QString getDevName(); /* 通过动作名称设置动作 */ void setActionName(const QString &action); /* 获取动作名称 */ QString getActionName(); /* 获取动作类型 */ int getActionNum(); /* 添加设备 */ void addDevice(const QMap& mapDev); /* 获取日期类型 */ bool getDateType(); /* 设置警告 */ void setWarningText(QString str,int ms = 3000); /* 隐藏警告 */ void hideWarn(); signals: /* 一个OneItem被删除了 */ void signal_OneItemDelete(int num); /* 日期被点击了 */ void signal_dateClicked(QDate date); /* 执行时间被点击了 */ void signal_execTimeClicked(QTime time); /* 设备改变了 */ void signal_devChanged(); private slots: /* 设备改变了 */ void do_devChanged(QString devName); /* 动作改变了 */ void do_actionChanged(QString action); /* 执行时间被点击了 */ void do_pBtn_execTime_clicked(); /* 执行日期被点击了 */ void do_pBtn_execDate_clicked(); private: /* 根据日期类型布局 */ void layoutInit(); protected: /* 事件过滤器 */ bool eventFilter(QObject *watched, QEvent *event); private: Ui::OneItem *ui; bool m_isSpecial = false; QTimer m_warnTimer; DeviceInfo m_devInfo; }; #endif // ONEITEM_H