javascript - Enterprise Architect 使用 javascript 编写脚本 - 向图表添加图例

标签 javascript enterprise-architect

我正在尝试向部分以下问题的图中添加图例:Enterprise Architect scripting with java - add CustomProperty但我没有运气在我的图表上获得可见的图例。这是我的代码:

function addLegend()
{
   Repository.EnsureOutputVisible( "Script" );
   Repository.ClearOutput("Script");
   var pkg as EA.Package; 

   pkg = Repository.GetTreeSelectedPackage();   
   elements = pkg.Elements;
   var legend = elements.AddNew('Diagram Legend', 'Text');

   legend.Subtype = 76;
   legend.Update();
   elements.Refresh();
   var diagram as EA.Diagram;

   diagram = Repository.GetDiagramByID(10);
   Session.Output(diagram.Name);
   diagramObjects = diagram.DiagramObjects;


   diagramObject = diagramObjects.AddNew("l=100; r=100; t=100; b=500;", "");
   diagramObject.ElementID = legend.ElementID;
   diagramObjects.Refresh();
   diagram.Update();
}

` 如前所述,没有显示图例 - 任何帮助表示赞赏。我的 EA 版本是 12.0。

最佳答案

您不需要通过调用Update()来保存新创建的DiagramObject,也不需要这些对Refresh()的调用

更新图表的调用也可能会撤消您尝试对图表进行的任何更改。 使用以下稍微更改的代码尝试一下(未经测试)

function addLegend()
{
   Repository.EnsureOutputVisible( "Script" );
   Repository.ClearOutput("Script");
   var pkg as EA.Package; 

   pkg = Repository.GetTreeSelectedPackage();   
   elements = pkg.Elements;
   var legend = elements.AddNew('Diagram Legend', 'Text');

   legend.Subtype = 76;
   legend.Update();
   var diagram as EA.Diagram;

   diagram = Repository.GetDiagramByID(10);
   Session.Output(diagram.Name);
   diagramObjects = diagram.DiagramObjects;


   diagramObject = diagramObjects.AddNew("l=100; r=100; t=100; b=500;", "");
   diagramObject.ElementID = legend.ElementID;
   diagramObject.Update();
}

关于javascript - Enterprise Architect 使用 javascript 编写脚本 - 向图表添加图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297803/

相关文章:

javascript - HTML 使用 angularJS 播放 Base 64 编码的音频,错误为 : [$interpolate:noconcat]

javascript - 在 jQuery 中使用小于和大于扩展属性选择器

enterprise-architect - 企业架构师 : how to synchronize with source code (source -> model) when its in a different absolute path in the disc?

c++ - 企业架构师(C++): Import Source Code with Custom Macro and Argument in Parantheses

mysql - SQL 查询根据连接是否存在有条件地从表中选择一行

flowchart - 如何在Enterprise Architect中绘制流程图?

javascript - 在 d3 或 javascript 中的 svg 圆区域内生成随机点

javascript - parseInt 可以处理百分比吗?

javascript - 无错误/异常地终止 Javascript