DiagramDesigner/diagramCavas/include/baseModelItem/electricBaseModelSvgItem.h

32 lines
987 B
C++

#ifndef ELECTRICBASEMODELSVGITEM_H
#define ELECTRICBASEMODELSVGITEM_H
#include "graphicsItem/graphicsBaseItem.h"
#include <QGraphicsSvgItem>
class ElectricBaseModelSvgItem :public GraphicsBaseModelItem
{
Q_OBJECT
public:
ElectricBaseModelSvgItem(const QRect &rect, QGraphicsItem *parent = 0); //genNewPort生成新接线点
ElectricBaseModelSvgItem(const ElectricBaseModelSvgItem&);
virtual ElectricBaseModelSvgItem* clone() const override;
virtual ~ElectricBaseModelSvgItem() override;
void updateCoordinate() override;
void move(const QPointF&) override;
void loadSvg(const QByteArray&);
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;
QByteArray m_icon;
};
#endif