预订演示
前页 后页

小脚本

属性元素包含JavaScript ,让您可以利用底层图表和元素API 来自定义元素的外观、文本、标记值和其他动态。运行在图表加载时运行,或者可以运行手动运行,为图表提供多个静态视图。

除了标准自动化环境之外,每个 Scriptlet 都可以访问三个全局对象。他们是:

  • 图表- Scriptlet 所在图表的自动化图表接口
  • 元素-工件自身的自动化接口
  • theInstance - Scriptlet 的自动化工件接口
有关与这些对象相关的帮助主题的参考,请参阅了解更多链接。

访问

Scriptlet 可以放置在任何图表上。您可以在一个图表上放置任意数量的 Scriptlet,并且您可以在多个图表上放置一个给定的 Scriptlet。

蓝图

构建 > 脚本

图表工具箱

要创建 Scriptlet:

  • 打开工具箱
  • 从图表工具箱的'Dynamic Viewpoints'页面中选择工件
  • 将其拖到打开的图表上

小脚本权限

Scriptlet 中的代码无法更改或更新模型数据库中的元素。但是,它可以读取和更新图表上显示的元素的副本。 Scriptlet 对元素所做的更新不会写回模型数据库。

编辑 Scriptlet 代码

要将代码添加到 Scriptlet,或编辑 Scriptlet 的现有代码,请双击图表上的 Scriptlet,或右键单击并选择“编辑脚本”菜单选项。代码编辑器窗口打开,显示所选 Scriptlet 的代码。编辑 Scriptlet 的JavaScript代码,就像在任何代码编辑器中一样。按 Ctrl+S 键保存更改。

An Example of a Scriptlet

This example comes from the model pattern 'Scriptlets > Simple', available through the Model Wizard (Ctrl+Shift+M).

//---   Example Scriptlet  ---
function Scriptlet1()
{
var object as EA.DiagramObject;
object = theDiagram.GetObjectByGrid("A","2");
if(object)
{
Session.Output("Scriptlet1 for " + theDiagram.Name);
object.BackgroundColor = parseInt("0x554444",16);
object.FontColor = parseInt("0xeeeeee",16);
object.Update();
}
}

Scriptlet1();

运行 Scriptlet

每当包含它们的图表被加载或重新加载时,运行就会在图表显示之前运行。如果一个图包含多个 Scriptlet,它们的运行顺序由图中运行的 Z 顺序决定。运行也可以随时手动运行,方法是右键单击运行并从上下文菜单中选择“运行脚本”选项。

调试一个 Scriptlet

您可以像调试任何其他代码部分一样调试 Scriplet。右键单击 Scriptlet 并选择“调试脚本”菜单选项。 Scriptlet 显示在调试视图中。

Grid Style Figure 上的图表

自动化 API 具有一些专用功能,Scriptlet 可以在对以网格样式显示的图表进行操作时使用这些功能。当图表被视为网格时,我们可以使用自动化功能来检索指定网格位置的元素。位置格式与在电子表格中看到的相同,列标记为“ A ”、“ B ”、“C”、...、“AA”、“AB”等,行按序列编号。

要更改网格元素的外观,请使用函数GetObjectByGrid 检索其底层物件。

要更改网格元素的,请使用函数GetElementByGrid 检索其底层元素。

例如;

object = theDiagram.GetObjectByGrid(" A ", "2");

元素= theDiagram.GetElementByGrid(" A ", "2");

了解更多