国际语言环境指南

XmText 操作例程

下表描述 XmText 操作例程。

left-character(extend)

如果 XmNeditPolicyXmEDIT_LOGICAL 并且被不带参数调用,则插入光标在逻辑上向后移动一个字符。 如果插入光标位于行首,则它将移动到上一行(如果存在的话)的最后一个逻辑字符。 否则,插入光标位置不变。

如果 XmNeditPolicyXmEDIT_VISUAL,则光标移动到光标位置的左侧。 如果插入光标位于行首,则它将移动到上一行(如果存在的话)的结尾字符。

如果使用 extend 参数调用 left-character() ,则插入光标就象没有参数时一样移动,并扩展当前所选内容。

left-character() 操作使用原因值 XmCR_MOVING_INSERT_CURSOR 生成对 XmNmotionVerifyCallback 过程的调用。 如果使用 extend 参数调用,则该操作可以生成对 XmNgainPrimaryCallback 过程的调用。 有关详细信息,请参见《Motif 程序员参考》中的回调说明。

right-character(extend)

如果 XmNeditPolicyXmEDIT_LOGICAL 并且被不带参数调用,则它将插入光标逻辑地向前移动一个字符。 如果插入光标位于行的逻辑结尾处,则它将插入光标移动到下一行(如果存在的话)的逻辑开始处。

如果 XmNeditPolicyXmEDIT_VISUAL,则光标移动到该光标位置的右侧。 如果插入光标位于行尾,则它将插入光标移动到下一行(如果存在的话)的开始处。

如果使用 extend 参数调用,则它将象没有参数一样移动插入光标并扩展当前所选内容。

right-character() 操作使用原因值 XmCR_MOVING_INSERT_CURSOR 生成对 XmNmotionVerifyCallback 过程的调用。 如果使用 extend 参数进行调用,则可生成对 XmNgainPrimaryCallback 过程的调用。 有关详细信息,请参见 Motif 程序员参考 中的回调说明。

right-word(extend)

如果 XmNeditPolicyXmEDIT_LOGICAL 并且被不带任何参数调用,则它将插入光标移动到逻辑后继字(如果存在的话)的逻辑开始处;否则,它移动到当前字的逻辑结尾处。 如果插入光标位于行的逻辑结尾处或该行的最后一个逻辑字时,它将光标移动到下一行(如果存在的话)的第一个逻辑字;否则,它移动到当前字的逻辑结尾处。

如果 XmNeditPolicyXmEDIT_VISUAL 并被不带参数调用,则它将插入光标移动到行尾右侧或后面的第一个空格字符后的第一个非空格字符处。

如果使用 extend 参数进行调用,则它将象不带参数调用一样移动插入光标,并扩展当前所选内容。

left-word() 操作使用原因值 XmCR_MOVING_INSERT_CURSOR 生成对 XmNmotionVerifyCallback 过程的调用。 如果使用 extend 参数调用,则可以生成对 XmNgainPrimaryCallback 过程的调用。 有关详细信息,请参阅 Motif 程序员参考 中的回调说明。

delete-left-character()

如果 XmNeditPolicyXmEDIT_LOGICAL,它等效于 delete-previous-char()。 如果 XmNeditPolicyXmEDIT_VISUAL,则在标准模式下,如果有一个非空选择,则它将删除该选择;否则它将删除插入光标左侧的字符。 在添加模式下,如果有一个非空选择,光标未离开所选内容,并且 XmNpendingDelete 被设置为真,则它将删除该选择;否则,它将删除插入光标左侧的字符。 这可能会影响选择。

delete-left-character() 操作使用原因值 XmCR_MODIFYING_TEXT_VALUE 生成对 XmNmodifyVerifyCallback 过程的调用,并且使用原因值 XmCR_VALUE_CHANGED 生成对 XmNvalueChangedCallback 过程的调用。

delete-right-character()

如果 XmNeditPolicyXmEDIT_VISUAL,则它等效于 delete-next-character()。如果 XmNeditPolicyXmEDIT_VISUAL,则在标准模式下,如果有一个非空选择,则它将删除该选择;否则,它删除插入光标右侧的字符。 在添加模式中,如果有一个非空选择,并且光标未离开所选内容,则将 XmNpendingDelete 设置为真,并删除该选择;否则,将删除插入光标右侧的字符。 这可能会对选项造成影响。

delete-right-character() 操作使用原因值 XmCR_MODIFYING_TEXT_VALUE 生成对 XmNmodifyVerify-Callback 过程的调用,并且使用原因值 XmCR_VALUE_CHANGED 生成对XmNvalue-ChangedCallback 过程的调用。

实现了一些基于单元的例程以支持字符组合、连字和音调符号。 换句话说,两个或多个字符可以被占用一个表示单元的单个字形表示。

XmText 单元操作例程如下所示:

backward-cell(extend)

将插入光标向后移动一个单元。 如果 XmNeditPolicy XmEDIT_LOGICAL,则将插入光标移动到逻辑上位于当前单元之前的那个单元(如果存在的话)的开始处。否则,将其移动到当前单元的开始处。

如果 XmNeditPolicyXmEDIT_VISUAL,则光标移动到光标左侧单元(如果它存在的话)的开始处。 prev-cell() 操作使用原因值 XmCR_MOVING_INSERT_CURSOR 生成对 XmNmotionVerifyCallback 过程的调用。 如果使用 extend 参数进行调用,则可以生成对 XmNgainPrimaryCallback 过程的调用。 有关详细信息,请参阅 Motif 程序员参考 中的回调说明。

forward-cell(extend)

将插入光标移动到下一个逻辑单元(如果存在的话)的开始处。否则将它移动到该单元的结尾处。 如果 XmNeditPolicyXmEDIT_LOGICAL,则光标向前移动一个单元。

如果 XmNeditPolicyXmEDIT_VISUAL,则光标移动到该光标位置右侧单元的开始处(如果该单元存在的话)。否则,光标移动到当前单元的结尾处。forward-cell() 操作使用原因值 XmCR_MOVING_INSERT_CURSOR 生成对 XmNmotionVerifyCallback 过程的调用。 如果使用 extend 参数进行调用,则可以生成对 XmNgainPrimaryCallback 过程的调用。 有关详细信息,请参阅 Motif 程序员参考 中的回调说明。