前页 | 后页 |
小脚本
属性元素包含JavaScript ,让您可以利用底层图表和元素API 来自定义元素的外观、文本、标记值和其他动态。运行在图表加载时运行,或者可以运行手动运行,为图表提供多个静态视图。
除了标准自动化环境之外,每个 Scriptlet 都可以访问三个全局对象。他们是:
- 图表- Scriptlet 所在图表的自动化图表接口
- 元素-工件自身的自动化接口
- theInstance - Scriptlet 的自动化工件接口
访问
Scriptlet 可以放置在任何图表上。您可以在一个图表上放置任意数量的 Scriptlet,并且您可以在多个图表上放置一个给定的 Scriptlet。
蓝图 |
构建 > 脚本 |
图表工具箱 |
要创建 Scriptlet:
|
小脚本权限
Scriptlet 中的代码无法更改或更新模型数据库中的元素。但是,它可以读取和更新图表上显示的元素的副本。 Scriptlet 对元素所做的更新不会写回模型数据库。
编辑 Scriptlet 代码
要将代码添加到 Scriptlet,或编辑 Scriptlet 的现有代码,请双击图表上的 Scriptlet,或右键单击并选择“编辑脚本”菜单选项。代码编辑器窗口打开,显示所选 Scriptlet 的代码。编辑 Scriptlet 的JavaScript代码,就像在任何代码编辑器中一样。按
键保存更改。示例的示例
This example comes from the model pattern 'Scriptlets > Simple', available through the Model Wizard ( ).//--- 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");