操作或子模型的定位属性
参数
可能的值
必需?
说明
操作或子模型的位置
insertAt:指定在“操作”菜单中必须插入操作的绝对位置。根据不同的访问权限,如果在 UI 中隐藏了操作之前的任何操作,则对于某些用户,此操作的显示位置可能不同。
insertBeforeActionName/insertBeforeObjectType:指定应紧靠其前显示自定义操作的操作。
insertAfterActionName/insertAfterObjectType:指定应紧随其后显示自定义操作的操作。
可以使用一组属性指定自定义操作在“操作”菜单中的位置。对于给定操作,只能使用一个位置属性。指定位置是可选的。如果未指定位置,则操作将被插入到操作模型的末尾。
例如:<action name="print part" type="part" insertAt="6"/>
如果在确定产生的操作模型中的位置时出现任何冲突,则会将该操作放置在操作模型的末尾。如果添加了多个自定义操作,但有多个操作遇到位置冲突,则所有此类操作的位置将取决于自定义操作模型文件在 com.ptc.netmarkets.util.misc.customActionModels 特性中的注册顺序。
关于位置属性的要点:
仅当模型定义具有增量属性时,才使用位置属性。
仅针对在现有操作模型定义中添加的自定义操作或子模型使用位置属性。
对于操作模型定义列表中已存在的操作或子模型,请勿使用位置属性。不允许对操作模型中的预设操作进行重新排序。
在下列位置属性中,只有一个位置属性可用于操作或子模型:insertAtinsertBeforeActionNameinsertBeforeObjectType,或者 insertAfterActionNameinsertAfterObjectType
操作名称和对象类型用于位置属性中的正确组合:insertBeforeActionNameinsertBeforeObjectType,或 insertAfterActionNameinsertAfterObjectType
在位置属性中指定的操作名称和对象类型均有效。这可以是预设类型和操作、新定义的操作或子模型名称。子模型的 insertBeforeObjectTypeinsertAfterObjectType 属性为空。
如果在 insertAfterActionNameinsertBeforeActionName 标记中指定分隔符值,则会将其忽略并在末尾插入,以避免发生任何冲突。可以为一个模型操作列表定义多个分隔符。
示例代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE actionmodels SYSTEM "customactionmodels.dtd">
<actionmodels>
<model name="psbDescribedByDocsToolBar" incremental="">
<action name="acmePartAddDescribedByDoc" type="acme"
insertBeforeActionName="psbAddDescribedByDoc"
insertBeforeObjectType="psb" />
<action name="acmePartCreateDescribedByDoc" type="acme"
insertAfterActionName="psbCreateDescribedByDoc"
insertAfterObjectType="psb" />
<action name="acmePartRemoveDoc" type="acme" insertAt="6" />
<submodel name="partDescribedByDocsTool" insertAt="7" />
</model>
</actionmodels>
这对您有帮助吗?