#include "graphicsItem/electricSvgItemBus.h" #include "graphicsItem/itemControlHandle.h" #include "graphicsItem/itemPort.h" #include "graphicsItem/electricConnectLineItem.h" #include #include #include ElectricSvgItemBus::ElectricSvgItemBus(const QRect &rect, QGraphicsItem *parent) : ElectricSvgItem(rect,parent) { loadSvg(":/images/element/svg_bus.svg"); setHandleIfShow(H_textCaption,false); setHandleVisible(false); setFunctionHandleIfShow(false); setFunctionHandleEnaable(false); setHandleEnaable(H_right,true); setHandleEnaable(H_left,true); } ElectricSvgItemBus::~ElectricSvgItemBus() { } void ElectricSvgItemBus::updateHandles() { ElectricSvgItem::updateHandles(); } void ElectricSvgItemBus::updateConnectData() { QJsonObject obj; QJsonArray arr; if(_property) { for(auto ptr:m_mapPort) { if(ptr->connected()) { QJsonObject port; port["portId"] = ptr->getTag(); auto pLine = ptr->getConnectPtr(); port["connectedItem"] = pLine->getOppositeId(m_itemId).toString(); port["x"] = ptr->pos().x(); port["y"] = ptr->pos().y(); arr.push_back(port); } } obj["port"] = arr; _property->setContext(obj); } } void ElectricSvgItemBus::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { ElectricSvgItem::paint(painter,option,widget); } /************************************************************************/ ElectricSvgItemBus_Property::ElectricSvgItemBus_Property(QObject* parent) :BaseProperty(parent) { } ElectricSvgItemBus_Property::~ElectricSvgItemBus_Property() { }