GridFrame/diagramCavas/include/diagramEditor/transformerBuilder.h

27 lines
814 B
C++

// TransformerBuilder.h
#pragma once
#include "layoutBuilder.h"
class TransformerBuilder : public LayoutBuilder {
public:
explicit TransformerBuilder(EditPanel* panel);
// 重写容器构建方法
BuildResult buildContainer(const BlockMap& blockMap) override;
// 创建变压器行布局
QGraphicsLinearLayout* createTransformerRowLayout();
// 处理变压器的层级项
HierarchyItem buildTransformerHierarchyItem(BlockDataPtr blockData);
private:
// 处理变压器的特殊逻辑
void processTransformerBlock(BlockDataPtr block,
QList<HierarchyItem>& bayItems,
QList<HierarchyItem>& deviceItems);
static constexpr int TRANSFORMER_TYPE = 3;
static constexpr int TRANSFORMER_DEVICE_TYPE = 16;
};