通过外接程序在企业架构图中显示标记

本文关键字:显示 企业 程序 | 更新日期: 2023-09-27 17:58:30

我正在使用以下代码在Enterprise Architect(C#插件)中生成一个图:

using EA;
...
public int AddDiagram(string name)
    {
        Package treeSelectedPackage = repository.GetTreeSelectedPackage();
        Diagram dgr = treeSelectedPackage.Diagrams.AddNew(name, "Extended::Requirements");
        dgr.Update();
        treeSelectedPackage.Diagrams.Refresh();
        treeSelectedPackage.Update();
        return dgr.DiagramID;
    }

存储库是一个EA.Repository-对象。

我可以向图中添加元素,但我需要打开图中标记/标记值的显示。在Enterprise Architect中,您可以通过以下方式启用它:

右键单击图表->属性…->选项卡"元素"->显示隔间:检查"标签"

我必须向上面的方法添加什么才能为新的图表启用它?

通过外接程序在企业架构图中显示标记

Diagram类中,图的某些属性可用于设置(例如ShowPackageContents),而其他属性则不可用。元素标记属性是后者之一。

然而,还有两个附加属性封装了其他属性StyleExExtendedStyle,它们分别对应于t_diagram表的StyleExPDATA列。这两个都是读/写的,但它们的内容没有记录,因此不能保证布局不会从一个版本的EA更改到下一个版本(尽管在实践中你是安全的,因为EA通常非常善于保持向后兼容性)。

每个都是形式keyword=value;,其中在大多数情况下,true/false的值为1或0。元素标记属性在ExtendedStyle中,称为ShowTags

EA在创建关系图时设置所有这些属性,但您只想更改其中一个。因此,您需要创建包含Update()调用的关系图,搜索ExtendedStyle,用ShowTags=1;替换ShowTags=0;,然后再次调用Update()

您可能需要更新t_diagram表中的数据库"ShowTags=0;",使用repository。SQLQuery方法