预订演示
前页 后页

查询方法

当您在形状脚本中使用形状脚本语句时,条件通常是object具有某个标记或属性,并且可能该标记或属性具有特定值。您可以使用此处描述的两种查询方法之一设置条件语句来检查属性和值。

查询

方法

描述

也见

boolean HasTag( string标记名,
( string标记值))

如果 'tagname' 存在且其值为非空,则 HasTag(tagname) 评估为 ' True ';否则它评估为“ false ”。

如果 'tagname' 存在且其值为 'tagvalue',则 HasTag(tagname,tagvalue) 计算结果为 ' True '。

如果 'tagname' 不存在且 'tagvalue' 为空,则 HasTag(tagname,上下文) 也将评估为 ' True ',此时将 'empty' 和 'missing' 视为具有相同的含义。

标记值

boolean HasProperty( string属性名,
( string属性值))

如果关联的元素具有名称为 propertyname 的属性,则计算结果为True 。

如果提供了第二个参数 propertyvalue,则该属性必须存在,并且该属性的值必须等于属性才能使方法评估为True 。

propertyvalue 参数可以有多个值,以逗号分隔;例如:

if(HasProperty("类型","类,行动,活动,接口"))

{

SetFillColor(255,0,0);

绘制原生形状();

}

这个形状脚本将对 if(HasProperty()) 语句中指定的四种元素之一以外的任何类型的元素使用标准元素填充颜色;这四种类型中的任何一种元素都将以红色填充显示。

显示元素/连接器属性

HasProperty 和用户选择的设置

功能() 方法的A特殊应用是检查属性设置,其中您为用户提供了属性功能,以便为使用构造型元素的特定实例设置该属性。因此,用户可以将元素形状脚本图表上,并通过元素上下文菜单,设置一个或多个属性在渲染图表object时所对应的属性。因此,元素可能在一个图表上具有一种外观,但在另一个图表上具有不同外观,因为它在两个图表上具有不同的属性设置。

要在您的配置文件中指定用户可选择的属性,请创建适当的构造型元素,并且 - 对于正在定义的每个属性- 将具有构造型 «diagram property» 的属性添加到此元素。对于属性,键入将显示在上下文元素的时间名称菜单上的选项文本;例如,“是红色的”。还要给属性一个别名,这将是属性的名称,因为它被存储并且属性() 方法将评估它。如果您将属性的初始值设置为1 ,则上下文会设置时间菜单选项;如果没有初始值,属性选项将默认为不设置。

还要定义一个 _image 属性,该属性具有应用 HasProperty() 方法的形状脚本脚本。在本例中,形状脚本定义了两个类属性(Is Red 和 Is Triangle),用于形状脚本() 方法,用于检查是否设置了选项。

主要形状

{

if (HasProperty("IsRed"," 1 "))

{

设置填充颜色(255,128,128);

}

if (HasProperty("IsTriangle","0"))

{

多边形(50,50,3,50,0);

}

else

{

绘制原生形状();

}

}

当定义扩展元素类型的构造型时,它将类似于:

A UML Profile diagram showing how to define diagram properties.

MDG 技术创建并发布给用户后,当他们从工具箱中拖动原型元素时,它将根据定义的当前设置属性,用户可以通过上下文菜单访问和重新设置,如显示:

Showing the use of diagram properties to change the appearance of elements on a diagram.

了解更多