展开Enterprise Architect中的所有子包

时间:2018-06-07 09:29:19

标签: c# packages enterprise-architect

我正在开发 Enterprise Architect C#加载项。我正在项目浏览器中创建多个包和元素。

我使用Repository.ShowInProjectView() API专注于项目浏览器中的元素。目前,我需要在完成元素创建后扩展模型中第一个包的所有子包。

是否有 EA API 可用。请帮助。提前致谢。

2 个答案:

答案 0 :(得分:1)

正如@Arshad所说。

你可以编写一个递归方法来调用每个叶子包上的Repository.ShowInProjectView()

就像(使用元语言)

func unfold(root) {
  if root.packages.count == 0 { 
    Repository.ShowInProjectView(root.element);
    return;
  }
  for subRoot in root.packages { unfold(subRoot); }
}

这将通过包的所有子包进行递归。当到达一片叶子时,它将展开Repository.ShowInProjectView(当然也包括它的所有父母)。

要关注包的第一个元素,请使用

Repository.ShowInProjectView(package.elements.getat(0))

答案 1 :(得分:0)

没有任何API调用可用于扩展项目浏览器中的所有子包。