#ifndef PARAMCONFIG_H #define PARAMCONFIG_H #include #include "spdlog/spdlog.h" #include "EyeMapInfo.h" struct OneEyeMapInfo; class OneParamItem; namespace Ui { class ParamConfig; } class ParamConfig : public QDialog { Q_OBJECT public: explicit ParamConfig(QWidget *parent = nullptr); ~ParamConfig(); /* 创建项 */ void createItem(const QList &listInfo); protected: /* 事件过滤器 */ bool eventFilter(QObject *watched, QEvent *event) override; /* 鼠标点击事件 */ void mousePressEvent(QMouseEvent *event) override; /* 鼠标移动事件 */ void mouseMoveEvent(QMouseEvent *event) override; /* 鼠标释放事件 */ void mouseReleaseEvent(QMouseEvent *event) override; private: /* 布局item */ void layoutItem(); /* 更新全局的眼图数据 */ void updateEyeMapInfo(); /* 获取时间刻度对应的字符串 */ QString getTimeGridValueStr(OscTimeGridValue value); private slots: /* 关闭按钮 */ void do_pBtn_close(); /* 保存按钮 */ void do_pBtn_save(); /* 点击了取消按钮 */ void do_pBtn_cancel(); public: bool isOk = false; private: Ui::ParamConfig *ui; std::shared_ptr m_logger = nullptr; QPoint m_lastPos; QList m_listItem; }; #endif // PARAMCONFIG_H