123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #ifndef ONEITEM_H
- #define ONEITEM_H
- #include <QWidget>
- #include <QTimer>
- #include <QUuid>
- #include "TransmitterSwitchInfo.h"
- namespace Ui {
- class OneItem;
- }
- class OneItem : public QWidget
- {
- Q_OBJECT
- public:
- explicit OneItem(QWidget *parent = nullptr, bool isSpecial = false);
- ~OneItem();
- /* 获取UUID */
- QUuid getUUID() { return m_uuid; }
- /* 设置周几 */
- void setWeekDay(int week) { m_weekDay = week; }
- /* 获取周几 */
- int getWeekDay() { return m_weekDay; }
- /* 设置序号 */
- 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 addActions();
- /* 获取动作名称 */
- QString getActionName();
- /* 获取动作类型 */
- int getActionNum();
- /* 添加所有设备 */
- void addDevice();
- /* 获取日期类型 */
- bool getDateType();
- /* 设置警告 */
- void setWarningText(QString str,int ms = 3000);
- /* 隐藏警告 */
- void hideWarn();
- /* 获取执行时间的位置,相对于该项的位置 */
- QPoint getExecTimePos();
- /* 获取执行日期的位置 */
- QPoint getExecDatePos();
- /* 获取执行时间按钮的大小 */
- QSize getExecTimeSize();
- /* 获取执行日期按钮的大小 */
- QSize getExecDateSize();
- signals:
- /* 一个OneItem被删除了 */
- void signal_OneItemDelete(int week, 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();
- /* 关闭按钮被点击了 */
- void do_pBtn_close_clicked();
- private:
- /* 根据日期类型布局 */
- void layoutInit();
- protected:
- /* 事件过滤器 */
- bool eventFilter(QObject *watched, QEvent *event);
- private:
- Ui::OneItem *ui;
- QUuid m_uuid; /* 项的唯一识别号,做判断的时候使用 */
- bool m_isSpecial = false;
- QTimer m_warnTimer;
- DeviceInfo m_devInfo;
-
- int m_weekDay = -1;
- int m_num = -1;
- QTime m_time;
- QDate m_date;
- };
- #endif // ONEITEM_H
|