【问题标题】:Enterprise Architect scripting with javascript - Add a legend to a diagram使用 javascript 编写 Enterprise Architect 脚本 - 向图表添加图例
【发布时间】:2016-05-19 12:35:45
【问题描述】:

我正在尝试在图表中添加一个图例,部分原因是以下问题: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。

【问题讨论】:

  • l=100;r=100 表示您指定的宽度为零。试试 r=200。
  • 是的,但给定的大小不会影响结果,实际上 Geert 提供的代码使其工作。将 r= 更改为例如1000 只是将图例向右移动 - 显然大小不受提供给 AddNew. 的参数控制,而是由标题的大小控制

标签: javascript enterprise-architect


【解决方案1】:

您不会通过调用 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();
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 2015-11-17
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
相关资源
最近更新 更多