2017-03-18 12 views
1

:[[プリント "1"]フィールド[印刷 "2" フィールド]] ビューのレイアウトがREBOLのシフトタブの副作用

ノー、フィールド#1にフィールド#2から+タブをシフトするとき行動は解雇される。 通常のタブのように火をつけるにはどうすればよいですか?

答えて

0

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 
] 

このコードは、実行時にビューエンジンの機能を歩く(コードはREBOLの中のデータである)とホットします必要に応じてコードを挿入または削除して関数本体をパッチします。

Rebol/SDKユーザーである場合は、ソースファイルを直接パッチするための指示を与えることができるので、固定View実行ファイルをエンコードすることができます。

お楽しみください。

+0

良いことを私は尋ねました。私はこれについて何も考えていないが、それは確かに私の問題を解決した - ありがとう。 – dogeye