展开 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))