DiagramDesigner/diagramCavas/source/diagramEditor/diagramEditorBaseBlock.cpp

89 lines
1.9 KiB
C++
Raw Normal View History

2025-07-25 19:07:14 +08:00
#include "diagramEditor/diagramEditorBaseBlock.h"
DiagramEditorBaseBlock::DiagramEditorBaseBlock(QObject *parent)
: QObject(parent)
,_curContainer(nullptr)
{
nType = 0;
}
DiagramEditorBaseBlock::~DiagramEditorBaseBlock()
{
}
2025-07-29 20:15:18 +08:00
void DiagramEditorBaseBlock::addConnect(const QString& str,int n,bool bCover)
2025-07-25 19:07:14 +08:00
{
2025-07-29 20:15:18 +08:00
if(!bCover){
if(str == sName)
return;
}
2025-07-25 19:07:14 +08:00
for(auto& con:lstCon){
if(con.con1.sName == str || con.con2.sName == str){ //已存在不插入
return;
}
}
DiagramEditorBriefConnect con;
con.con1.sName = sName; //首参数为自己名
con.con1.nType = nType;
con.con2.sName = str;
con.con2.nType = n;
lstCon.append(con);
}
void DiagramEditorBaseBlock::addConnect(DiagramEditorBriefConnect obj)
{
for(auto& con:lstCon){
if(con == obj){ //已存在不插入
return;
}
}
lstCon.append(obj);
}
void DiagramEditorBaseBlock::removeConnect(const QString& str)
{
for(int i = 0;i < lstCon.size();++i){
if(lstCon[i].con1.sName == str || lstCon[i].con2.sName == str){
lstCon.removeAt(i);
return;
}
}
}
void DiagramEditorBaseBlock::removeConnect(DiagramEditorBriefConnect obj)
{
for(int i = 0;i < lstCon.size();++i){
if(lstCon[i] == obj){
lstCon.removeAt(i);
return;
}
}
}
/***************************划分后的分段bus单元****************************/
DiagramEditorBusBlock::DiagramEditorBusBlock(QObject *parent)
:DiagramEditorBaseBlock(parent)
{
fVoltage = 0.0;
nBusType = 0;
nIndex = 0;
}
DiagramEditorBusBlock::~DiagramEditorBusBlock()
{
}
/***************************bay单元****************************/
DiagramEditorBayBlock::DiagramEditorBayBlock(QObject *parent)
:DiagramEditorBaseBlock(parent)
{
nBayType = BayType::busSectionBay;
}
DiagramEditorBayBlock::~DiagramEditorBayBlock()
{
}