#include "graphicsItem/electricPortItem.h" #include "graphicsItem/itemPort.h" #include "baseProperty.h" #include #include #include ElectricPortItem::ElectricPortItem(QGraphicsItem *parent) : GraphicsProjectModelItem(parent) { initial(); } ElectricPortItem::ElectricPortItem(const ElectricPortItem& obj) : GraphicsProjectModelItem(obj) { initial(); } ElectricPortItem::~ElectricPortItem() { } ElectricPortItem* ElectricPortItem::clone() const { return new ElectricPortItem(*this); } QRectF ElectricPortItem::boundingRect() const { return m_boundingRect; } void ElectricPortItem::updateConnectData() { QJsonObject obj; QJsonArray arr; if(_property) { for(auto& ptr:m_mapPort) { //if(ptr->connected()) { QJsonObject port; port["portId"] = ptr->getId(); //auto pLine = ptr->getConnectPtr(); port["x"] = ptr->pos().x(); port["y"] = ptr->pos().y(); port["portType"] = ptr->getType(); arr.push_back(port); } } obj["port"] = arr; obj["metaModel"] = _property->metaModelName(); _property->setContext(obj); } } void ElectricPortItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { painter->setBrush(m_brush); painter->drawEllipse(m_boundingRect); } void ElectricPortItem::initial() { m_boundingRect = QRectF(-1,-1,2,2); m_pen = QPen(Qt::black); m_brush = QBrush(Qt::black); setHandleVisible(false); setFunctionHandleIfShow(false); setFunctionHandleEnaable(false); }