国际语言环境指南

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 参数进行调用,则 XmNeditPolicy 将像不带参数调用一样移动插入光标,并扩展当前所选内容。

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)

将插入光标向后移动一个单元。如果 XmNeditPolicyXmEDIT_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 程序员参考》中的回调说明。