#pragma once #include #include #include #include "ui_DieCharLayoutUI.h" #include #include #include #include #include #include #include #include #include "global.h" #include "MyQGraphicsLineItem.h" #include "MyQGraphicsRectItem.h" #include "MyDieRectItem.h" #include "MyDrawRectItem.h" #include "MyQGraphicsEllipseItem.h" #include "MyQGraphicsTextItem.h" #include "RecipeAttrObj.h" #include "mappingchart_global.h" class MAPPINGCHART_EXPORT DieCharLayoutUI : public QWidget { Q_OBJECT public: DieCharLayoutUI(QWidget *parent = Q_NULLPTR); ~DieCharLayoutUI(); public: void ShowDieCharLayoutUIUseRecipe(RecipeAttrObj& curUseRecipe, QString replaceStr); public slots: void slot_closeDieCharLayout(); private: Ui::DieCharLayoutUI ui; QGraphicsScene m_scene; std::shared_ptr m_dieObj; std::shared_ptr m_XCoordAxis; //坐标系X轴 std::shared_ptr m_YCoordAxis; //坐标系Y轴 QPen m_pen; //线相关属性 QPointF m_startPos; int m_curSelectId = -1; //当前选中的item public: //die相关属性 double m_dieWidth = 3; double m_dieHeight = 4; std::vector> m_lineItemVec; std::vector> m_rectItemVec; std::vector> m_circleItemVec; std::vector> m_textItemVec; };