DiagramDesigner/diagramCavas/source/baseModelItem/electricBaseModelSvgBus.cpp

61 lines
1.6 KiB
C++
Raw Normal View History

#include "baseModelItem/electricBaseModelSvgBus.h"
#include "graphicsItem/itemPort.h"
#include "baseProperty.h"
#include <QPainter>
#include <QStyleOption>
#include <QJsonArray>
ElectricBaseModelSvgBus::ElectricBaseModelSvgBus(const QRect &rect, QGraphicsItem *parent)
: ElectricBaseModelSvgItem(rect,parent)
{
2025-07-04 18:47:49 +08:00
//loadSvg(":/images/element/svg_bus.svg");
setHandleIfShow(H_textCaption,false);
setHandleVisible(false);
setFunctionHandleIfShow(false);
setFunctionHandleEnaable(false);
setHandleEnaable(H_right,true);
setHandleEnaable(H_left,true);
}
ElectricBaseModelSvgBus::~ElectricBaseModelSvgBus()
{
}
void ElectricBaseModelSvgBus::updateHandles()
{
ElectricBaseModelSvgItem::updateHandles();
}
void ElectricBaseModelSvgBus::updateConnectData()
{
QJsonObject obj;
QJsonArray arr;
if(_property)
{
2025-11-21 19:22:41 +08:00
for(auto &ptr:m_mapPort)
{
//if(ptr->connected())
{
QJsonObject port;
port["portId"] = ptr->getId();
2025-11-21 19:22:41 +08:00
//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;
2025-07-11 18:13:54 +08:00
obj["metaModel"] = _property->metaModelName();
2025-11-21 19:22:41 +08:00
obj["subList"] = _property->saveSubToJsonArr();
_property->setContext(obj);
}
}
void ElectricBaseModelSvgBus::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{
ElectricBaseModelSvgItem::paint(painter,option,widget);
}