Rebol shift-tab 副作用
Rebol shift-tab side effects
鉴于此:
查看布局[字段[打印“1”]字段[打印“2”]]
当我 shift+tab 从字段 #2 到字段 #1 时,没有触发任何操作。
如何让它们像普通标签一样触发?
这是 Rebol/View 引擎中 field
样式的键处理程序中的错误。这是一个快速补丁,您可以将其包含在代码中以修复它并使 SHIFT+Tab 工作:
use [body f pos][
;-- patch `ctx-text/back-field` function to fix the bug
body: copy/deep second f: get in ctx-text 'back-field
insert body/2/while [if head? item [item: tail item]]
ctx-text/back-field: func first :f :body
;-- remove test that disables face/action for back-tabs
body: second get in ctx-text 'edit-text
body: find body 'word?
pos: at body/3/7/tab-char/5/6 11
change/part pos pos/4 4
]
此代码将在 运行 时遍历 View 引擎函数(代码是 Rebol 中的数据)并通过在需要时注入或删除代码来热修补函数体。
如果你恰好是Rebol/SDK用户,我可以直接给你补丁源文件的说明,这样你就可以封装一个固定的View可执行文件。
尽情享受吧。
鉴于此: 查看布局[字段[打印“1”]字段[打印“2”]]
当我 shift+tab 从字段 #2 到字段 #1 时,没有触发任何操作。 如何让它们像普通标签一样触发?
这是 Rebol/View 引擎中 field
样式的键处理程序中的错误。这是一个快速补丁,您可以将其包含在代码中以修复它并使 SHIFT+Tab 工作:
use [body f pos][
;-- patch `ctx-text/back-field` function to fix the bug
body: copy/deep second f: get in ctx-text 'back-field
insert body/2/while [if head? item [item: tail item]]
ctx-text/back-field: func first :f :body
;-- remove test that disables face/action for back-tabs
body: second get in ctx-text 'edit-text
body: find body 'word?
pos: at body/3/7/tab-char/5/6 11
change/part pos pos/4 4
]
此代码将在 运行 时遍历 View 引擎函数(代码是 Rebol 中的数据)并通过在需要时注入或删除代码来热修补函数体。
如果你恰好是Rebol/SDK用户,我可以直接给你补丁源文件的说明,这样你就可以封装一个固定的View可执行文件。
尽情享受吧。