| 前页 | 后页 |
脚本片段
Scriptlet 元素包含JavaScript ,可让您利用底层图表和元素API 来动态自定义元素的外观、文本、标记值和其他属性。Scriptlet 会在图表加载时运行,也可以根据需要手动运行,从而为图表提供多个静态视图。
除了标准自动化环境之外,每个 Scriptlet 还可以访问三个全局对象。它们是:
- theDiagram - Scriptlet 所在图表的自动化图表接口
- theElement - Scriptlet工件本身的自动化元素接口
- theInstance - Scriptlet工件本身的自动化 DiagramObject 接口
访问
Scriptlet 可以放置在任何图表上。您可以在一个图表上放置任意数量的 Scriptlet,也可以将一个 Scriptlet 放置在多个图表上。
|
蓝图 |
建设 > Scriplets |
|
图表工具箱 |
![]() 要创建 Scriptlet:
|
Scriptlet 权限
Scriptlet 中的代码无法更改或更新模型数据库中的元素。但是,它可以读取和更新图表上显示的元素副本。Scriptlet 对元素所做的更新不会写回到模型数据库中。
编辑 Scriptlet 代码
要向 Scriptlet 添加代码,或编辑 Scriptlet 的现有代码,请双击图表上的 Scriptlet,或右键单击并选择“编辑脚本”菜单选项。代码编辑器窗口将打开,显示所选 Scriptlet 的代码。像在任何代码编辑器中一样编辑 Scriptlet 的JavaScript代码。按 键保存更改。
An Example of a Scriptlet
This example comes from the model pattern 'Scriptlets > Simple', available through the Model Builder.//--- 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
在图表显示之前,只要包含脚本的图表被加载或重新加载,脚本就会运行。如果图表包含多个脚本,则它们的运行顺序由图表上脚本的 Z 轴顺序决定。您也可以随时手动运行脚本,方法是右键单击脚本,然后从上下文菜单中选择“运行脚本”选项。
调试Scriptlet
您可以像调试任何其他代码段一样调试 Scriptlet。右键单击 Scriptlet,然后选择“调试脚本”菜单选项。Scriptlet 将显示在调试视图中。
网格样式图表上的 Scriptlet
自动化 API 有一些专用函数,Scriptlet 可以在以网格样式显示的图表上使用这些函数。当图表以网格形式显示时,我们可以使用自动化函数检索指定网格位置的元素。位置格式与电子表格中的位置格式相同,列标记为“ A ”、“ B ”、“ C ”……,“ AA ”、“ AB ”等,行按序列编号。
要改变网格元素的外观,请使用函数GetObjectByGrid 检索其底层物件。
要改变网格元素的值,请使用函数GetElementByGrid 检索其底层元素。
例如;
object = theDiagram.GetObjectByGrid(" A ", "2");
元素= theDiagram.GetElementByGrid(" A ", "2");

