跳转到内容

composedlinerange

ComposedLineRange 对象

app.project.item(index).layer(index).text.sourceText.value.composedLineRange(composedLineIndexStart, [signedComposedLineIndexEnd])

描述

ComposedLineRange 对象是一个访问器,用于访问从其创建的 TextDocument 对象 实例的组成行范围。

组成行在 TextDocument 对象 创建时初始化,并且在 TextDocument 对象 更改时保持不变。 需要注意的是,当对 TextDocument 对象 进行更改时,实例不会重新组合 - 只有在实例被应用回 TextLayer 对象 时才会发生。 因此,如果你删除了 TextDocument 对象 实例中的所有文本,组成行的数量将保持不变。

当访问时,ComposedLineRange 对象将检查范围的有效 characterStart 和有效 characterEnd 是否仍然适用于相关 TextDocument 对象 的当前范围。这与创建 ComposedLineRange 时应用的规则相同,但由于相关 TextDocument 对象 的长度可以通过添加或删除字符来更改,因此有效 characterStart 和有效 characterEnd 可能不再有效。在这种情况下,访问时将抛出异常,无论是读取还是写入。如果有效范围不再有效,属性 isRangeValid 将返回 false

请注意,如果 TextDocument 对象 的长度发生变化,字符范围可能会再次变为有效。

为了方便起见,可以调用函数 ComposedLineRange.characterRange(),它将返回一个从 characterStartcharacterEnd 初始化的 CharacterRange 对象 实例。 此实例与它来自的 ComposedLineRange 实例无关,因此对 ComposedLineRange 限制的后续更改不会传达给 CharacterRange 对象 实例。

出于性能原因,当访问多个属性时,建议检索一次 CharacterRange 对象 并重复使用,而不是每次都创建一个新的。

示例

这将更改 TextDocument 中第一个组成行的填充颜色为红色,并将其余行的颜色设置为蓝色。

var textDocument = app.project.item(index).layer(index).property("Source Text").value;
var composedLineRange0 = textDocument.composedLineRange(0,1);
var characterRange0 = composedLineRange0.characterRange();
characterRange0.fillColor = [1.0, 0, 0];
textDocument.composedLineRange(1,-1).characterRange().fillColor = [0, 0, 1.0];

属性

ComposedLineRange.characterEnd

ComposedLineRange.characterEnd

描述

文本图层范围计算的字符结束值。

如果有效值超出相关 TextDocument 对象 的边界,则在访问时抛出异常。

类型

无符号整数;只读。


ComposedLineRange.characterStart

ComposedLineRange.characterStart

描述

文本图层范围计算的字符起始值。

如果有效值超出相关 TextDocument 对象 的边界,则在访问时抛出异常。

类型

无符号整数;只读。


ComposedLineRange.isRangeValid

ComposedLineRange.isRangeValid

描述

如果当前范围在相关 TextDocument 对象 的边界内,则返回 true,否则返回 false

类型

布尔值;只读。


函数

ComposedLineRange.characterRange()

ComposedLineRange.characterRange()

描述

返回一个从 characterStartcharacterEnd 初始化的 CharacterRange 对象

如果 isRangeValid 返回 false,将抛出异常。

返回的实例一旦创建,就与其来自的 ComposedLineRange 的后续更改无关。

参数

无。

返回

CharacterRange 对象


ComposedLineRange.toString()

ComposedLineRange.toString()

描述

返回一个包含用于创建 ComposedLineRange 实例的参数字符串,例如 "ComposedLineRange(0,-1)"

在 isRangeValid 返回 false 的实例上可以安全调用此方法。

参数

无。

返回

字符串;