展开 Enterprise Architect 中的所有子包
Expand all sub packages in Enterprise Architect
我正在研究 Enterprise Architect C# 插件。我正在项目浏览器中创建多个包和元素。
我正在使用 Repository.ShowInProjectView()
API 来关注项目浏览器中的一个元素。目前我要求在元素创建完成后展开模型中第一个包的所有子包。
是否有 EA API 可用。请帮忙。提前致谢。
没有任何 API 调用可用于在项目浏览器中展开所有子包。
正如@Arshad 所述。
你可以只写一个递归方法来调用每个叶子 sub-packages 上的 Repository.ShowInProjectView()
。
就像(在 meta-language 中)
func unfold(root) {
if root.packages.count == 0 {
Repository.ShowInProjectView(root.element);
return;
}
for subRoot in root.packages { unfold(subRoot); }
}
这将递归所有 sub-packages 个包。当到达一片叶子时,它将以 Repository.ShowInProjectView
展开(当然还有它的所有 parents)。
要聚焦包的第一个元素,请使用
Repository.ShowInProjectView(package.elements.getat(0))
我正在研究 Enterprise Architect C# 插件。我正在项目浏览器中创建多个包和元素。
我正在使用 Repository.ShowInProjectView()
API 来关注项目浏览器中的一个元素。目前我要求在元素创建完成后展开模型中第一个包的所有子包。
是否有 EA API 可用。请帮忙。提前致谢。
没有任何 API 调用可用于在项目浏览器中展开所有子包。
正如@Arshad 所述。
你可以只写一个递归方法来调用每个叶子 sub-packages 上的 Repository.ShowInProjectView()
。
就像(在 meta-language 中)
func unfold(root) {
if root.packages.count == 0 {
Repository.ShowInProjectView(root.element);
return;
}
for subRoot in root.packages { unfold(subRoot); }
}
这将递归所有 sub-packages 个包。当到达一片叶子时,它将以 Repository.ShowInProjectView
展开(当然还有它的所有 parents)。
要聚焦包的第一个元素,请使用
Repository.ShowInProjectView(package.elements.getat(0))