#pragma once #include "ZxObjBdyBase.h" #include "mGuiPlot_global.h" //边界线 class M_GUI_PLOT_EXPORT ZxObjBdyLine : public ZxObjBdyBase { Q_OBJECT ZX_DECLARE_DYNAMIC public: ZxObjBdyLine(); ZxObjBdyLine(const QString& sName, ZxSubAxisX* pAxisX, ZxSubAxisY* pAxisY); ~ZxObjBdyLine(); public: // 封装 virtual void initTools(); virtual void initObj(); //获得数据 void calBdyLineParam(eBdyPosType ePosType, QVector& vecVals); virtual bool _runHitTest(const QPointF& pt, int& nOption, int& nSubIndex); virtual bool runMove(const QPointF& pt1, const QPointF& pt2); //属性 virtual void fillPtyPano(IxPtyPano* sheet); // 根据pt1--->pt2的偏移,获取pt的偏移后的点 // pt1:鼠标Down点,pt2:鼠标Up点 QPointF offsetPoint(QPointF& pt, const QPointF& pt1, const QPointF& pt2); //修改点改变长度 virtual bool calNewPos(QVector& vec, QPointF ptMouse); //设置边界的距离 void setBdyLineDistance(double f); double getBdyLineDistance(); //设置边界的位置 void setBdyLinePosType(int nPos); int getBdyLinePosType(); //移动后设置线的位置 virtual void resetBdyParam(); virtual void paintBack(QPainter* painter, const ZxPaintParam& param); protected: iBdyInfo* getBdyParam(); };