#ifndef ONESETTINGITEM_H #define ONESETTINGITEM_H #include <QWidget> #include "spdlog/spdlog.h" #include "EyeMapInfo.h" namespace Ui { class OneSettingItem; } class OneSettingItem : public QWidget { Q_OBJECT public: explicit OneSettingItem(QWidget *parent = nullptr); ~OneSettingItem(); /* 设置序号 */ void setNum(int num); /* 获取序号 */ int getNum() { return eyeMapInfo.num; } /* 设置颜色 */ void setColor(const QColor& color); /* 获取所有信息 */ OneEyeMapInfo& getEyeMapInfo(); /* 设置项信息 */ void setItemInfo(const OneEyeMapInfo& info); /* 设置可选通道列表 */ void setChannelList(const QList<OneChannelInfo>& list); /* 设置当前通道号 */ void setCurrentChannel(const QString& channelName); void setCurrentChannel(const OscChnNum channel); /* 获取当前通道号 */ OneChannelInfo getCurrentChannel(); /* 设置自定义的通道名称栏报警 */ void setChannelNameAlarm(bool isAlarm); /* 设置通道选择栏报警 */ void setChannelSelectAlarm(bool isAlarm); signals: /* 选择了通道号信号 */ void signal_select_channel(const OscChnNum channel, const QString& channelName); protected: /* 滚轮事件 */ // void wheelEvent(QWheelEvent *event) override; /* 事件过滤器 */ bool eventFilter(QObject *watched, QEvent *event) override; private slots: /* 设置颜色 */ void do_pBtn_background(); /* 选择了通道号 */ void do_select_channel(int index); private: OneEyeMapInfo eyeMapInfo; private: Ui::OneSettingItem *ui; std::shared_ptr<spdlog::logger> m_logger = nullptr; }; #endif // ONESETTINGITEM_H