6.16.1 Textbox オブジェクト

以下のような Textbox オブジェクトをインスタンス生成することが できます:

クラス Textbox( win)
テキストボックスウィジェットオブジェクトを返します。win 引数は、テキストボックスを入れるための WindowObject で なければなりません。テキストボックスの編集カーソルは、最初は テキストボックスが入っているウィンドウの左上角に配置され、その 座標は (0, 0) です。インスタンスの stripspaces フラグの初期値はオンに設定されます。

Textbox オブジェクトは以下のメソッドを持ちます:

edit( [validator])
普段使うことになるエントリポイントです。終了キーストロークの一つが 入力されるまで編集キーストロークを受け付けます。validator を与える場合、関数でなければなりません。validator は キーストロークが入力されるたびにそのキーストロークが引数となって 呼び出されます; 返された値に対して、コマンドキーストロークとして 解釈が行われます。このメソッドはウィンドウの内容を文字列として返します; ウィンドウ内の空白が含められるかどうかは stripspaces メンバ で決められます。

do_command( ch)
単一のコマンドキーストロークを処理します。以下にサポートされている 特殊キーストロークを示します:

キーストローク 動作
Control-A ウィンドウの左端に移動します。
Control-B カーソルを左へ移動し、必要なら前の行に折り返します。
Control-D カーソル下の文字を削除します。
Control-E 右端 (stripspaces がオフのとき) または行末 (stripspaces がオンのとき) に移動します。
Control-F カーソルを右に移動し、必要なら次の行に折り返します。
Control-G ウィンドウを終了し、その内容を返します。
Control-H 逆方向に文字を削除します。(バックスペース)
Control-J ウィンドウが 1 行であれば終了し、そうでなければ新しい行を挿入します。
Control-K 行が空白行ならその行全体を削除し、そうでなければカーソル以降行末までを消去します。
Control-L スクリーンを更新します。
Control-N カーソルを下に移動します; 1 行下に移動します。
Control-O カーソルの場所に空行を 1 行挿入します。
Control-P カーソルを上に移動します; 1 行上に移動します。

移動操作は、カーソルがウィンドウの縁にあって移動ができない場合には 何も行いません。場合によっては、以下のような同義のキーストロークが サポートされています:

定数 キーストローク
KEY_LEFT Control-B
KEY_RIGHT Control-F
KEY_UP Control-P
KEY_DOWN Control-N
KEY_BACKSPACE Control-h

他のキーストロークは、与えられた文字を挿入し、(行折り返し付きで) 右に移動するコマンドとして扱われます。

gather( )
このメソッドはウィンドウの内容を文字列として返します; ウィンドウ内の 空白が含められるかどうかは stripspaces メンバ変数で決められ ます。

stripspaces
このデータメンバはウィンドウ内の空白領域の解釈方法を制御するための フラグです。フラグがオンに設定されている場合、各行の末端にある 空白領域は無視されます; すなわち、末端空白領域にカーソルが入ると、 その場所の代わりに行の末尾にカーソルが移動します。また、末端の空白 領域はウィンドウの内容を取得する際に剥ぎ取られます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。