DiagramDesigner/diagramCavas/include/graphicsItem/functionModelItem/electricFunctionModelSvgItem.h

31 lines
1.3 KiB
C++

#ifndef ELECTRICFUNCTIONMODELSVGITEM_H
#define ELECTRICFUNCTIONMODELSVGITEM_H
#include "graphicsFunctionModelItem.h"
class ElectricFunctionModelSvgItem :public GraphicsFunctionModelItem
{
Q_OBJECT
public:
ElectricFunctionModelSvgItem(const QRect &rect, bool genNewPort = true,QGraphicsItem *parent = 0); //genNewPort生成新接线点
virtual ~ElectricFunctionModelSvgItem();
void resize(int,double, double, const QPointF&) override;
void updateCoordinate() override;
void move(const QPointF&) override;
virtual void loadSvg(){};
virtual void loadSvg(QByteArray); //第二种load直接加载图片
virtual void updateMapSvg(QMap<QString,QByteArray> map,QString sIndex = ""); //index:空全部更新
virtual void updateCurState(MonitorItemState e) override;
protected:
virtual QPainterPath shape() override;
virtual void editShape(int, const QPointF&) override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
protected:
QRectF m_lastBoudingRect; //记录上一时刻的boundingRect
QSvgRenderer* m_pRender; //默认
QSvgRenderer* m_pCustomRender; //定制
QMap<QString,QByteArray> m_mapSvg;
QByteArray _tempSvg; //保存直接加载的svg数据
};
#endif