DiagramDesigner/diagramCavas/source/graphicsItem/functionModelItem/electricFunctionModelSvgIte...

72 lines
1.8 KiB
C++

#include "graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.h"
#include "graphicsDataModel/fixedPortsModel.h"
#include "baseProperty.h"
#include <QPainter>
#include <QStyleOption>
#include <QGraphicsScene>
#include <QGraphicsView>
ElectricFunctionModelSvgItemImage::ElectricFunctionModelSvgItemImage(const QRect &rect, QGraphicsItem *parent)
: ElectricFunctionModelSvgItem(rect,parent)
{
initial();
}
ElectricFunctionModelSvgItemImage::~ElectricFunctionModelSvgItemImage()
{
}
void ElectricFunctionModelSvgItemImage::setImage_1(QFileInfo info)
{
QByteArray svgData;
QFile svgFile(info.absoluteFilePath());
if (svgFile.open(QIODevice::ReadOnly)) {
svgData = svgFile.readAll();
svgFile.close();
} else {
qDebug() << "can't open imgfile" << svgFile.errorString();
}
QMap<QString,QByteArray> mapData;
if(!svgData.isEmpty()){
mapData["customImage"] = svgData;
updateMapSvg(mapData,"customImage");
loadSvg(svgData);
updateItem();
}
QString sMeta;
QString sModel;
QUuid itemId;
if(_property){
sMeta = _property->metaModelName();
sModel = _property->modelName();
itemId = _property->uuid();
}
if(_pHandle)
_pHandle->updateCustomItemIcon(itemId,mapData);
GraphicsBaseItem::setImage_1(info);
}
void ElectricFunctionModelSvgItemImage::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{
ElectricFunctionModelSvgItem::paint(painter,option,widget);
}
void ElectricFunctionModelSvgItemImage::initial()
{
setHandleIfShow(H_textCaption,false);
setHandleVisible(false);
setFunctionHandleIfShow(false);
setFunctionHandleEnaable(false);
if(!_itemImgIndex.contains("es"))
_itemImgIndex.append("es");
}