DiagramDesigner/diagramCavas/include/graphicsItem/electricSvgItem.h

30 lines
968 B
C++

#ifndef ELECTRICSVGITEM_H
#define ELECTRICSVGITEM_H
#include "graphicsBaseItem.h"
#include <QGraphicsSvgItem>
class ElectricSvgItem :public GraphicsProjectModelItem
{
Q_OBJECT
public:
ElectricSvgItem(const QRect &rect, bool genNewPort = true,QGraphicsItem *parent = 0); //genNewPort生成新接线点
virtual ~ElectricSvgItem();
void resize(int,double, double, const QPointF&);
void updateCoordinate();
void move(const QPointF&);
virtual void loadSvg(){};
virtual void loadSvg(QByteArray); //第二种load直接加载图片
virtual void updateMapSvg(QMap<QString,QByteArray> map);
protected:
virtual QPainterPath shape();
virtual void editShape(int, const QPointF&);
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
protected:
QRectF m_lastBoudingRect; //记录上一时刻的boundingRect
QSvgRenderer* m_pRender;
QMap<QString,QByteArray> m_mapSvg;
};
#endif