GridFrame/diagramCavas/include/diagramEditor/hierarchyItemBuilder.h

27 lines
770 B
C++

// HierarchyItemBuilder.h
#pragma once
#include "common/core_model/topology.h"
#include "dataModel.h"
class HierarchyItemBuilder {
public:
static HierarchyItemBuilder& instance();
// 创建间隔层级项
HierarchyItem buildBayItem(BlockDataPtr blockData);
// 创建设备层级项
HierarchyItem buildDeviceItem(BlockDataPtr blockData, int deviceType);
// 创建带父间隔的设备项
HierarchyItem buildDeviceWithParent(BlockDataPtr deviceBlock,
BlockDataPtr parentBlock,
int deviceType);
// 根据block类型自动创建对应层级项
HierarchyItem buildAutoFromBlock(BlockDataPtr blockData);
private:
HierarchyItemBuilder() = default;
};