12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #ifndef ONEEYEMAP_H
- #define ONEEYEMAP_H
- #include <QWidget>
- #include <memory>
- #include <QTimer>
- #include "spdlog/spdlog.h"
- #include "OscData.h"
- #include "GlobalInfo.h"
- namespace Ui {
- class OneEyeMap;
- }
- class OneEyeMap : public QWidget
- {
- Q_OBJECT
- public:
- explicit OneEyeMap(QWidget *parent = nullptr);
- ~OneEyeMap();
- /* 设置序号 */
- void setNum(int num) { m_num = num; }
- /* 获取序号 */
- int getNum() { return m_num; }
- /* 设置标题 */
- void setTitle(const QString &title) { m_title = title; }
- /* 获取标题 */
- QString getTitle() { return m_title; }
- /* 设置颜色 */
- void setColor(const QColor &color) { m_color = color; }
- /* 获取颜色 */
- QColor getColor() { return m_color; }
- /* 设置是否显示 */
- void setShow(bool isShow) { m_isShow = isShow; }
- /* 获取是否显示 */
- bool getShow() { return m_isShow; }
- signals:
- void signal_update();
- private slots:
- void do_update();
- protected:
- void paintEvent(QPaintEvent *event) override;
- /* 缩放事件 */
- void resizeEvent(QResizeEvent *event) override;
- private:
- /* 绘制刻度值区域 */
- void drawScaleValue(QPainter &painter);
- /* 绘制刻度 */
- void drawScale(QPainter &painter);
- /* 绘制眼图区域 */
- void drawEyeMap(QPainter &painter);
- /* 获取一个格子的电压值 */
- inline QString getVScaleValue(int index);
- /* 获取一个时间值 */
- inline QString getTimeValue(int index);
-
- private:
- Ui::OneEyeMap *ui;
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- /* 眼图属性信息 */
- bool m_isShow = false; /* 是否显示 */
- int m_num; /* 序号 */
- QString m_title; /* 标题 */
- QColor m_color; /* 颜色 */
- QTimer m_timer;
- QRect m_rectScaleValue; /* 刻度值区域 */
- QRect m_rectEyeMap; /* 眼图区域 */
- int m_leftMargin = 0; /* 眼图距离刻度区域的左边距 */
- int m_topMargin = 0; /* 眼图距离刻度区域的上边距 */
- int m_rightMargin = 0; /* 眼图距离刻度区域的右边距 */
- int m_bottomMargin = 0; /* 眼图距离刻度区域的下边距 */
- int m_hScaleNum = 0; /* 水平刻度 */
- int m_vScaleNum = 0; /* 垂直刻度 */
- OscChannelRange m_cRange = OscChannelRange::CR_2V5; /* 通道输入档位 */
- OscTimeGridValue m_tGridValue = OscTimeGridValue::TGV_200NS; /* 时间刻度值 */
- };
- #endif // ONEEYEMAP_H
|