EN JA
DIALOG(3)
DIALOG(3) FreeBSD Library Functions Manual DIALOG(3)

名称

dialog - dialog プログラムのための widget とユーティリティ

書式

cc [ flag ... ] file ... -ldialog [ library ... ]
 
   or
 
cc `dialog-config --cflags` file ... `dialog-config --libs` ]
 
#include <dialog.h>

dialog は、シェルスクリプトから dialog ボックスを使用してさまざまな質問を表示するか、またはメッセージを表示するためのプログラムです。それは、widget または main プログラムによって使用されるユーティリティ関数と同様にいくつかの widget から成る、 dialog ライブラリから構築されています。

解説

このマニュアルページは、直接 widget を使用する開発者に重要と思われる <dialog.h> からの機能を文書化しています。また、開発している新しい widget のためのいくつかのヒントを与えます。

定義

(使用のために main プログラムに戻される) 終了コードは、 " DLG_EXIT_"接頭辞で定義されています。 dialog(1) で説明されるように、環境変数を使用して定義された定数をマップすることができます、例えば、 DLG_EXIT_OK は、 $DIALOG_OK に対応しています。

ユーザ入力に対応する便利な文字定数は、" CHR_"接頭辞と名前が付けられています、例えば、 CHR_BACKSPACE

カラーとビデオ属性は、設定ファイルの設定に分類され、関連付けられています ( dialog(1) の $DIALOGRC の議論を参照してください)。 DIALOG_ATR(n) マクロは、組み合わされたカラーと属性テーブル dlg_color_table[] への参照を定義するために使用されます。

dialog アプリケーションは、widget 関数にコマンドラインのパラメータを渡します。それらのパラメータのいくつかは、単一の値ですが、widget のいくつかは、値の配列ととしてデータを受け付けます。それらは、checklist/radiobox、menubox と formbox を含んでいます。 --item-help オプションが与えられるとき、追加カラムのデータが、要求されます。 USE_ITEM_HELP()、CHECKBOX_TAGS、MENUBOX_TAGS と FORMBOX_TAGS マクロは、呼び出すアプリケーションからこの違いを隠すために使用されます。

<dialog.h> にある他の定義のほとんどは、ライブラリまたは main プログラムの構築に便利なものとして使用されます。これらは、生成される <dlg_config.h> ヘッダに基づく定義を含んでいます。

 

データ構造

dialog ライブラリのためのグローバルなデータのすべては、いくつかの構造に格納されています: DIALOG_STATEDIALOG_VARSDIALOG_COLORS。対応する dialog_statedialog_varsdlg_color_table グローバル変数は、0 に初期化され、次に、使用するデータに存在されるべきです。これらのいくつかは、対応する widget が機能するためには 0 以外でなければなりません。関数名と同様に、" dialog_"で始まる変数は、呼び出すアプリケーションによって使用されるように設計されていますが、一方 " dlg_"で始まる変数は、下位のレベル、例えば、 dialog ライブラリによって、使用することを目的にしています。
DIALOG_STATE.all_subwindows
これは、ライブラリによって作成されたすべてのサブウィンドウのリンクされたリストです。 dlg_del_window 関数は、ウィンドウを削除するとき、サブウィンドウのための記憶域を解放するために、これをに使用します。
DIALOG_STATE.all_windows
これは、ライブラリによって作成されたすべてのウィンドウのリンクされたリストです。 dlg_del_window 関数は、ウィンドウを削除した後に再描画されるウィンドウの場所を見つけるために使用します。
DIALOG_STATE.aspect_ratio
これは、コマンドラインオプション " --aspect-ratio"に対応しています。値は、(高さと幅に 0 を指定して) 自動サイズ処理を使用するとき、ボックスの次元のいくらかの制御をアプリケーションに与えます。それは、幅 / 高さを表します。デフォルトは、あらゆる 1 行の高さに 9 文字の幅を意味する、9 です。
DIALOG_STATE.finish_string
真に設定されるとき、これによって、 dlg_finish_string への呼び出しは、与えられた文字列パラメータのためのレイアウトの計算の速度を上げるために作成される、対応するデータを廃棄することができます。 gauge widget は、この機能を使用します。
DIALOG_STATE.getc_callbacks
これは、入力のためにポーリングしなければならないウィンドウを記録するための ui_getc.c のセットアップです、例えば、バックグラウンド tailbox widget を扱うために。 1 つのウィンドウは、フォアグランドまたはコントロールウィンドウとして指定されます。
DIALOG_STATE.getc_redirect
DIALOG_STATE.getc_callbacks のためのコントロールウィンドウがクローズされるなら、リストは、この変数に移動されます。すべてのウィンドウをクローズすると、アプリケーションは、終了します。
DIALOG_STATE.no_mouse
これは、コマンドラインのオプション " --no-mouse"に対応しています。真であるなら、 dialog は、 init_dialog でマウスを初期化しません (し、有効にしません)。
DIALOG_STATE.output
これは、アプリケーションとライブラリ関数がテキストの結果を書き込むストリームに dialog アプリケーションで設定されます。 curses ライブラリが標準出力にデータを書き込むほうがいいので、通常、それは、標準エラーです。 (便利さと引き替え移植性を得る) いくつかのスクリプトは、標準出力に結果を書き込むことを好みます、例えば、" --stdout"オプションを使用することによって。
DIALOG_STATE.output_count
これは、出力にテキストを書き込む各 widget によって呼び出される、 dlg_does_output によって増加されます。 dialog アプリケーションは、セパレータも書き込むべきであるかどうか決めるために、それを使用します、すなわち、各 widget への呼び出しの間の DIALOG_STATE.separate_str
DIALOG_STATE.pipe_input
これは、アプリケーションの標準入力でなければならない gauge widget によって使用できるストリームに init_dialog で設定されます。 dialog アプリケーションは、通常、標準入力に input 設定で init_dialog を呼び出しますが、オプションで " --input-fd"オプションに基づいています。アプリケーションがパイプ (標準入力) から読み込むことができず、同時に curses は、標準入力から入力するので、特定のファイル記述子または直接端末から後者を再オープンすることを考慮しなければなりません。調整されたパイプストリーム値は、この変数に格納されます。
DIALOG_STATE.screen_initialized
これは、 init_dialog で設定され、 end_dialog でリセットされます。それは、curses が初期化されているかどうか、 endwin 関数が終了時に呼び出されなければならないかどうかチェックするために使用されます。
DIALOG_STATE.screen_output
これは、curses ライブラリによって使用された出力ストリームに init_dialog で設定されます。端末で起こらなくて、( init_dialog が直接端末のオープンに成功するなら) 通常、それは、標準出力です。
DIALOG_STATE.separate_str
これは、コマンドラインオプションの " --separate-widget"に対応しています。与えられた文字列は、各 widget から dialog の出力で出力を分離する文字列を指定します。これは、いくつかの widget で dialog の結果を解析することを簡素化するために使用されています。このオプションが与えられないなら、デフォルトのセパレータの文字列は、タブ文字です。
DIALOG_STATE.tab_len
これは、コマンドラインオプションの " --tab-len number"に対応しています。 " --tab-correct"オプションが与えられるなら、タブ文字が占める空白の数を指定します。デフォルトは、8 です。
DIALOG_STATE.trace_output
これは、コマンドラインのオプション " --trace file"に対応しています。それは、トレースメッセージが書き込まれているファイルポインタです。
DIALOG_STATE.use_colors
これは、curses の実装がカラーをサポートするなら、 init_dialog で設定されます。
DIALOG_STATE.use_scrollbar
これは、コマンドラインオプションの " --scrollbar"に対応しています。真であるなら、より読み込み可能なスクロールされたデータを保持するウィンドウを作るためにスクロールバーを描画します。
DIALOG_STATE.use_shadow
これは、コマンドラインオプションの " --no-shadow"に対応しています。これは、curses 実装がカラーをサポートするなら、 init_dialog で設定されます。真であるなら、各 dialog ボックスの右と下端に描画される影を抑制します。
DIALOG_STATE.visit_items
これは、コマンドラインオプションの " --visit-items"に対応しています。

dialog アプリケーションは、各 each を呼び出すためにオプションを受け付ける前に、 dialog_vars データをリセットします。 DIALOG_VARS メンバのほとんどは、直接 dialog のコマンドラインのオプションから設定されます:

DIALOG_VARS.ascii_lines
これは、コマンドラインのオプションの " --ascii-lines"に対応しています。行の描画は、ASCII 文字で行われます、例えば、"+"と "-"。 DIALOG_VARS.no_lines を参照してください。
DIALOG_VARS.backtitle
これは、コマンドラインオプションの " --backtitle backtitle"に対応しています。画面の上端に、背景に表示するために backtitle 文字列を指定します。
DIALOG_VARS.beep_after_signal
これは、コマンドラインオプションの " --beep-after"に対応しています。真であるなら、ユーザがボタンの 1 つを押すことによって widget を完了した後に、ビープを鳴らします。
DIALOG_VARS.beep_signal
これは、コマンドラインオプションの " --beep"に対応しています。それは、時代遅れでもはやサポートされません。
DIALOG_VARS.begin_set
これは、コマンドラインオプションの " --begin y x"が使用されたなら、真です。画面の dialog ボックスの左上隅の位置を指定します。
DIALOG_VARS.begin_x
これは、コマンドラインオプション " --begin y x" (2 番目の値) から x の値に対応しています。
DIALOG_VARS.begin_y
これは、コマンドラインオプション " --begin y x" (最初の値) から y の値に対応しています。
DIALOG_VARS.cancel_label
これは、コマンドラインオプションの " --cancel-label string"に対応しています。与えられた string は、"Cancel"ボタンに使用されるラベルを上書きします。
DIALOG_VARS.cant_kill
これは、コマンドラインオプションの " --no-kill"に対応しています。真であるなら、これは、バックグラウンドに tailboxbg ボックスを置き、 dialog の出力にプロセス ID を印刷するように dialog に伝えます。 SIGHUP は、バックグラウンドのプロセスのために無効にされます。
DIALOG_VARS.colors
これは、コマンドラインオプションの " --colors"に対応しています。真であるなら、カラーまたはビデオ属性を設定するように dialog に伝える続く文字によって dialog テキストに埋め込まれた "\Z"シーケンスを解釈します: 次の 0 から 7 は、curses で使用される ANSI コードです: それぞれ、 black (黒), red (赤), green (緑), yellow (黄), blue (青), magenta (マゼンタ), cyan (シアン) と white (白)。ボールドは、'b' によって設定され、'B' によってリセットされます。リバースは、'r' によって設定され、'R' によってリセットされます。アンダライン (下線) は、'u' によって設定され、'U' によってリセットされます。設定は、累積されます、例えば、"\Zb\Z1"は、次のテキストを明るい赤にします。 "\Zn"で通常の設定に戻します。
DIALOG_VARS.column_separator
これは、コマンドラインオプションに " --column-separator"に対応しています。 dialog は、与えられた文字列の発生でラジオ/チェックボックスとメニューのためのデータを分割し、カラムに分割したデータを整列します。
DIALOG_VARS.cr_wrap
これは、コマンドラインオプションの " --cr-wrap"に対応しています。真であるなら、画面で改行として dialog テキストの埋め込まれた改行を解釈します。そうでなければ、 dialog は、テキストボックスの内側に適合する必要であるところでのみ、行を折り畳みます。これで行のブレイクを制御できますが、 dialog は、それでも、ボックスの幅には長過ぎる行を折り畳みます。 cr-wrap がない場合、利用者のテキストのレイアウトは、dialog を見る方法に影響せずにスクリプトのソースコードで格好よく見えるために書式化されます。
DIALOG_VARS.date_format
これは、コマンドラインオプションの " --date-format string"に対応しています。ホストが strftime を提供し、値が NULL でないなら、 calendar widget は、出力を書式化するために、これを使用します。
DIALOG_VARS.default_button
これは、コマンドラインオプション " --default-button によって設定されます。それは、 dlg_default_button によって使用されます。
DIALOG_VARS.default_item
これは、コマンドラインオプションの " --default-item string"に対応しています。与えられた文字列は、checklist、form または menu ボックスのデフォルトの項目として使用されます。通常、ボックスの最初の項目がデフォルトです。
DIALOG_VARS.defaultno
これは、コマンドラインオプションの " --defaultno"に対応しています。真であるなら、 yes/no ボックスのデフォルト値を No にします。同様に、提供された "OK"の "Cancel"を提供する widget のデフォルトボタンを Cancel にします。これを上書きするオプション --nocancel が与えられたなら、常にデフォルトボタンを (内部的に "OK"と同じ) "Yes"とします。
DIALOG_VARS.dlg_clear_screen
これは、コマンドラインオプションの " --clear"に対応しています。このオプションは、ライブラリではなく、main プログラムで実装されます。真であるなら、画面は、終了時にクリアされます。これは、別のオプションなしで単独で使用されます。
DIALOG_VARS.exit_label
これは、コマンドラインオプションの " --exit-label string"に対応しています。与えられた文字列は、"EXIT"ボタンに使用されるラベルを上書きします。
DIALOG_VARS.extra_button
これは、コマンドラインオプションの " --extra-button"に対応しています。真であるなら、いくつかの widget は、"OK"と "Cancel"ボタンの間の特別なボタンを表示します。
DIALOG_VARS.extra_label
これは、コマンドラインオプションの " --extra-label string"に対応しています。与えられた文字列は、"Extra"ボタンに使用されるラベルを上書きします。注意: inputmenu widget に対して、これは、"Rename"をデフォルトとします。
DIALOG_VARS.formitem_type
これは、テキストフィールドが password widget のように扱われるべきであることを、form widget に伝えるようにコマンドラインオプションの " --passwordform"によって設定されます。
DIALOG_VARS.help_button
これは、コマンドラインオプションの " --help-button"に対応しています。真であるなら、いくつかの widget は、"OK"と "Cancel"ボタンの後にヘルプボタンを表示します、すなわち、checklist、radiolist と menu ボックスで。また、 --item-help が与えられるなら、終了時に、リターン状態は、"OK"ボタンと同じになり、項目ヘルプテキストは、トークン "HELP"の後に dialog の出力に書き込まれます。そうでなければ、リターン状態は、ヘルプボタンが渡され、メッセージが印刷されないことを示します。
DIALOG_VARS.help_file
これは、コマンドラインオプション " --hfile string"に対応しています。与えられたファイル名は、ユーザが F1 を押すとき、 dialog_helpfile に渡されます。
DIALOG_VARS.help_label
これは、コマンドラインオプション " --help-label string"に対応しています。与えられた文字列は、"Help"ボタンに使用されるラベルを上書きします。
DIALOG_VARS.help_line
これは、コマンドラインオプション " --hline string"に対応しています。与えられた文字列は、サブタイトルのような dialog ウィンドウの下側に表示されます。
DIALOG_VARS.help_status
これは、コマンドラインオプションの " --help-status"に対応しています。真でありヘルプボタンが選択されるなら、項目ヘルプ "HELP"情報の後に checklist または radiolist 情報を書き込みます。ヘルプ要求を処理した後に checklist の状態を再構築するために、これを使用できます。
DIALOG_VARS.help_tags
これは、コマンド行オプション " --help-tags"に対応します。真であるなら、 DIALOG_VARS.item_help が設定されるとき、タグの help-text 値を使用するのではなく、 dlg_add_help_formitemdlg_add_help_listitem は、 item のタグ値を一貫して使用します。
DIALOG_VARS.input_length
これは、ユーザのローカル変数へのポインタであることに対して DIALOG_VARS.input_result が割り付けられるなら、0 以外です。
DIALOG_VARS.input_menu
このフラグは、menubox widget が inputmenu widget に対して menu を実装するかどうかを示すように設定されます。
DIALOG_VARS.input_result
これは、ユーザによって供給されたバッファ、または DIALOG_VARS.input_length に応じてライブラリによって動的に割り付けられたバッファのいずれかです。
DIALOG_VARS.input_length が 0 であるなら、これは、 (スタックまたは静的領域で) ユーザバッファへのポインタです。バッファサイズは、 <dialog.h> で定義される、 MAX_LEN と仮定されます。
DIALOG_VARS.input_length が 0 以外であるとき、これは、印刷可能な結果を呼び出したアプリケーションに返す widget によって使用される動的に割り付けられたバッファです。
特定の widget は、このバッファに結果をコピーします。ポインタが NULL であるか、または長さが結果に対して不十分であるなら、 dialog ライブラリは、十分大きなバッファを割り付け、 DIALOG_VARS.input_length を設定します。呼び出し側は、このような場合、それらがそれら自体のバッファを提供したかどうかチェックするべきです。
DIALOG_VARS.insecure
これは、コマンドラインオプションの " --insecure"に対応しています。真であるなら、各文字のためにアスタリスクをエコーすることによって password widget をよりフレンドリにしますが、安全性は小さくなります。
DIALOG_VARS.in_helpfile
この変数は、例えば、F1 がヘルプファイル表示の中で押されたなら、何でも表示する dialog_helpfile を防ぐために使用されます。
DIALOG_VARS.item_help
これは、コマンドラインオプションの " --item-help"に対応しています。真であるなら、現在選択された項目に対して、テキストが画面の下端の行に表示されるカラムを追加する checklist、radiolist と menu ボックスのためのタグデータを解釈します。
DIALOG_VARS.keep_tite
これは、xterm の代替の画面 (alternate-screen) の切り換えに対応する端末の初期化 (termcap ti/ te) シーケンスをキャンセルを試みないことを dialog に伝えるためにコマンドラインのオプション " --keep-tite"によって設定されます。通常、 dialog は、スクリプトで何度か実行するときちらつきを避けるために、これを行います。
DIALOG_VARS.keep_window
これは、コマンドラインオプションの " --keep-window"に対応しています。真であるなら、終了時にウィンドウを削除/再描画しません。これは、いくつかの widget が同じプロセスで実行しているとき、ウィンドウの内容を目に見えるように保存するために役に立ちます。 curses は、新しいプロセスを始めるとき、画面をクリアすることに注意してください。
DIALOG_VARS.last_key
これは、コマンドラインオプションの " --last-key"に対応しています。
DIALOG_VARS.max_input
これは、コマンドラインオプションの " --max-input size"に対応しています。入力文字列を与えられたのサイズに制限します。指定されないなら、制限は、2048 です。
DIALOG_VARS.no_items
これは、コマンドラインオプションの " --no-items"に対応しています。いくつかの widget (checklist、inputmenu、radiolist、menu) は、 2 つのカラム ("タグ"と "項目"、すなわち、"記述") があるリストを表示します。これは、"list"を省略して、データからより短い列を読み込むように dialog に伝えます。
DIALOG_VARS.no_label
これは、コマンドラインオプションの " --no-label string"に対応しています。与えられた文字列は、"No"ボタンに使用されるラベルを上書きします。
DIALOG_VARS.no_lines
これは、コマンドラインオプションの " --no-lines に対応しています。それは、行の描画を抑制します。 DIALOG_VARS.ascii_lines を参照してください。
DIALOG_VARS.no_nl_expand
これは、コマンドラインオプションの " --no-nl-expand"に対応しています。失敗するなら、 dlg_trim_string は、メッセージ中のリテラル "\n"部分文字列を改行に変換します。
DIALOG_VARS.no_tags
これは、コマンドラインオプションの " --no-tags"に対応しています。いくつかの widget (checklist、inputmenu、radiolist、menu) は、 2 つのカラム ("タグ"と "項目"、別名 "記述") があるリストを表示します。タグは、スクリプトを書くために役に立ちますが、ユーザの助けにはなりません。 --no-tags オプション (Xdialog から) は、表示からのタグのカラムを抑制するために使用されます。
通常、 dialog によって、単一文字をタグの最初の文字に一致させることによって、表示されたリストのエントリに速く移動することができます。 --no-tags オプションが与えられるとき、 dialog は、記述の最初の文字に対して一致します。いずれの場合も、一致できる文字は、強調されます。
ここで、テーブルは、no_tags と no_items の値がどのように互いに影響し合うかを示しています:
Widget Fields Shown Fields Read .no_items .no_tags
buildlist item tag,item 0 0*
buildlist item tag,item 0 1
buildlist tag tag 1 0*
buildlist tag tag 1 1
checklist tag,item tag,item 0 0
checklist item tag,item 0 1
checklist tag tag 1 0
checklist tag tag 1 1
inputmenu tag,item tag,item 0 0
inputmenu item tag,item 0 1
inputmenu tag tag 1 0
inputmenu tag tag 1 1
menu tag,item tag,item 0 0
menu item tag,item 0 1
menu tag tag 1 0
menu tag tag 1 1
radiolist tag,item tag,item 0 0
radiolist item tag,item 0 1
radiolist tag tag 1 0
radiolist tag tag 1 1
treeview item tag,item 0 0*
treeview item tag,item 0 1
treeview tag tag 1 0*
treeview tag tag 1 1
*
Xdialog は、類似した buildlist と treeview widget のためのタグのカラムを表示しません。 dialog は、コマンドラインで同じことをします。しかしながら、ライブラリインタフェースは、デフォルトでタグのカラムを表示します。利用者のアプリケーションは、各 widget の必要に応じてタグのカラムを有効にするか、または無効にすることができます。
DIALOG_VARS.nocancel
これは、コマンドラインオプションの " --no-cancel"に対応しています。真であるなら、checklist、inputbox と menu ボックスモードで "Cancel"ボタンを抑制します。スクリプトは、ユーザが、キャンセルして終了するように ESC キーを押したかどうかまだテストすることができます。
DIALOG_VARS.nocollapse
これは、コマンドラインオプションの " --no-collapse"に対応しています。通常、 dialog は、message ボックスなどで表示されるテキストのために、タブを空白に変換して、複数の空白を単一の空白に減少させます。真であるなら、その機能は、無効にされます。それでも、 dialog は、 --cr-wrap オプションに従って、まだテキストを折り畳みます。
DIALOG_VARS.nook
これは、コマンドラインオプションに " --nook に対応しています。 dialog は、widget から "ok" (または "yes") ボタンを抑制します。
DIALOG_VARS.ok_label
これは、コマンドラインオプションの " --ok-label string"に対応しています。与えられた文字列は、"OK"ボタンに使用されるラベルを上書きします。
DIALOG_VARS.print_siz
これは、コマンドラインオプションの " --print-size"に対応しています。真であるなら、各 widget は、それが呼び出されるとき、 dialog の出力にサイズを印刷します。
DIALOG_VARS.quoted
これは、コマンドラインオプション " --quoted に対応しています。
DIALOG_VARS.separate_output
これは、コマンドラインオプションの " --separate-output"に対応しています。真であるなら、checklist widget は、クォートなしで一度に結果を 1 つの行に結果を出力します。これは、別のプログラムによって解析されることを容易にします。
DIALOG_VARS.single_quoted
これは、コマンドラインオプションの " --single-quoted"に対応しています。真であるなら、項目ヘルプテキストと同様に checklist の出力のために (不要であるなら、クォートされない) 必要であるようにシングルクォートを使用します。このオプションが設定されないなら、 dialog は、各項目の周りでダブルクォートを使用します。後者は、出力をシェルスクリプトで役に立つようにするために時折バックスラッシュの使用を必要とします。
DIALOG_VARS.size_err
これは、コマンドラインオプションの " --size-err"に対応しています。真であるなら、それを使用しようと試みる前に、 dialog ボックスの結果をチェックし、画面より大きいなら結果のサイズを印刷します。 (すべての新しいウィンドウの呼び出しがチェックされるので、このオプションは、時代遅れです)。
DIALOG_VARS.sleep_secs
これは、コマンドラインオプションの " --sleep secs"に対応しています。このオプションは、ライブラリではなく、main プログラムで実装されます。 0 以外であれば、これは、 dialog ボックスを処理した後に、遅延した後の秒数です。
DIALOG_VARS.tab_correct
これは、コマンドラインオプションの " --tab-correct"に対応しています。真であるなら、テキストの各タブ文字を 1 つ以上の空白に変換します。そうでなければ、タブは、curses ライブラリの解釈にしたがって、レンダリング (render, 表示) されます。
DIALOG_VARS.time_format
これは、コマンドラインオプションの " --time-format string"に対応しています。ホストが strftime を提供し、値が NULL でないなら、 timebox widget は、出力を書式化するために、これを使用します。
DIALOG_VARS.timeout_secs
これは、コマンドラインオプションの " --timeout secs"に対応しています。 0 以外であるなら、タイムアウトは、ユーザが与えられた秒数以内いに応答しなければ、 (エラーコードで終了し) 要求を入力します。
DIALOG_VARS.title
これは、コマンドラインオプションの " --title title"に対応しています。 dialog ボックスの上端に表示するための title 文字列を指定します。
DIALOG_VARS.trim_whitespace
これは、コマンドラインオプションの " --trim"に対応しています。真であるなら、先導する空白を削除し、メッセージテキストからリテラルの改行と繰り返される空白を取り除きます。
DIALOG_VARS.visit_items
これは、コマンドラインオプションの " --visit-items"に対応しています。状態の 1 つとして項目のリストを含むために、リスト指向の widget (buildlist, checklist, radiobox, menubox, inputmenu と treeview) のタブ縦断 (tab-traversal) を変更します。これは、視覚的な支援として役に立ちます、すなわち、カーソル位置は、いくらかのユーザを助けます。
DIALOG_VARS.yes_label
これは、コマンドラインオプションの " --yes-label string"に対応しています。与えられた文字列は、"Yes"ボタンに使用されるラベルを上書きします。

WIDGET

コマンドライン dialog プログラムのための主要な機能性を実装する関数、例えば、" dialog_"で始まる名前がある widget。
 
すべての dialog ボックスには、少なくとも 3 つのパラメータがあります:
title
先頭のボーダで表示される、ボックスのための表題。
height
dialog ボックスの高さ。
width
dialog ボックスの幅。

他のパラメータは、ボックスタイプに依存します。

dialog_buildlist
は、" --buildlist"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int list_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
char ** items
は、列のリストとして見られる文字列の配列です。
tag item status
または
tag item status help
は、 dialog_vars.item_help が設定されるかどうかに依存します。
int order_mode
は、将来の増強のために予約されています。
dialog_calendar
" --calendar"オプションを実装する。
const char * title
は、widget の上端のタイトルです。
const char * subtitle
は、widget 内に表示されるプロンプトのテキストです。
int height
は、固定の高さのカレンダのグリッド (格子) を除いた高さです。
int width
は、必要であるなら、カレンダのグリッドの最小の幅まで調整される、ボックスの全部の幅です。
int day
は、日曜日を 0 とみなす、表示される最初の曜日です。値が負であるなら、現在の曜日が使用されます。
int month
は、1 月を 1 とみなす、表示される最初の 1 年の月です。値が負であるなら、1 年の現在の月が使用されます。
int year
は、表示される最初の年です。値が負であるなら、現在の年が使用されます。
dialog_checklist
は、 flag パラメータに依存する " --checklist"と " --radiolist"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int list_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
int items
は、次の行
tag item status
または
tag item status help
 
のリストとして見なされる文字列の配列です。
dialog_vars.item_help が設定されているかどうかによります。
flag
は、checklists のための FLAG_CHECK または radiolists のための FLAG_RADIO のいずれかです。
dialog_dselect
は、" --dselect"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * path
は、ディレクトリウィンドウとファイルウィンドウを設定するためにも使用される入力ボックスに表示される前もって選択された値です。
int height
は、dialog ボックスのフレームワークを表示するために必要な最小限を除いた高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
dialog_editbox
は、" --editbox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * file
は、読み込むファイルの名前です。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
dialog_form
は、" --form"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int form_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
int items
は、次の行
Name NameY NameX Text TextY TextX FLen ILen
または
Name NameY NameX Text TextY TextX FLen ILen Help
のリストとして見なされる文字列の配列です。
dialog_vars.item_help が設定されているかどうかによります。
dialog_fselect
は、" --fselect"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * path
は、ディレクトリウィンドウとファイルウィンドウを設定するためにも使用される入力ボックスに表示される前もって選択された値です。
int height
は、dialog ボックスのフレームワークを表示するために必要な最小限を除いた高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
dialog_gauge
は、" --gauge"オプションを実装します。代わりに、より簡単であるか、またはカスタム化された gauge widget を dlg_allocate_gauge, dlg_reallocate_gauge, dlg_update_gaugedlg_free_gauge を使用してセットアップすることができます。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int percent
は、進捗バーに表示される割合です。
dialog_inputbox
は、 password の値によって " --inputbox"または " --password"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
const char * init
は、dialog ボックスの幅の自動サイズ処理のとき、長さが考慮に入れられる、入力ボックスの初期の値です。
int password
真であるなら、タイプされた入力は、アスタリスクとしてエコーされます。
dialog_helpfile
は、" --hfile"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * file
は、表示するテキストを含むファイルの名前です。この関数は、パラメータとして dialog_vars.help_file に渡される F1 (ファンクションキー "1") に内部的にバインドされています。 dialog プログラムは、 --hfile オプションが与えられるとき、その変数の設定します。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
dialog_menu
は、 dialog_vars.input_menu が設定されているかどうかによって " --menu"または " --inputmenu"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int menu_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
int items
は、次の行
tag item
または
tag item help
のリストとして見なされる文字列の配列です。
dialog_vars.item_help が設定されているかどうかによります。
dialog_mixedform
は、" --mixedform"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int form_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
int items
は、次の行
Name NameY NameX Text TextY TextX FLen ILen Ityp
または
Name NameY NameX Text TextY TextX FLen ILen Ityp Help
のリストとして見なされる文字列の配列です。
dialog_vars.item_help が設定されているかどうかによります。
dialog_mixedgauge
は、" --mixedgauge"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示され表題です。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int percent
は、進捗バーに表示される割合です。
int item_no
は、 items の行の数です。
int items
は、 tagitem の値のリストとして見なされる文字列の配列です。 tag 値は、widget の上端でリストに 1 行毎に 1 つリストされます。
item 値は、次のようにデコードされます: 数値 0-9 は、次の文字列です。
0
Succeeded
1
Failed
2
Passed
3
Completed
4
Checked
5
Done
6
Skipped
7
In Progress
8
(blank)
9
N/A
先導する "-"文字がある文字列は、"%"でマークされ、センタリングされます。例えば、"-75"は、"75%"として表示されます。他の文字列は、そのまま表示されます。
dialog_msgbox
は、 pauseopt が設定されているかどうかによって " --msgbox"または " --infobox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int pauseopt
真であるなら、"OK"ボタンが表示され、dialog は、完了するためにウェートします。 "OK"ボタンで、"msgbox"を表示し、 "OK"ボタンなしで、"infobox"を表示します。
dialog_pause
は、" --pause"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int seconds
は、進捗バーのために使用するタイムアウトです。
dialog_prgbox
は、" --prgbox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 中に表示されるプロンプトのテキストです。空であるか、またはヌル文字であるなら、プロンプトは、表示されません。
const char * command
は、実行するコマンドの名前です。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int pauseopt
真であるなら、"OK"ボタンが表示され、dialog は、それが完了するまでウェートします。
dialog_progressbox
は、" --progressbox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。空か、または null であるなら、プロンプトは、表示されません。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
dialog_rangebox
は、" --rangebox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。空または NULL であるなら、プロンプトは、表示されません。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づきます。
int width
は、ボックスの望ましい幅です。 0 であるなら、height は、画面サイズに基づきます。
int min_value
は、許可される最小の値です。
int max_value
は、許可される最大の値です。
int default_value
は、変更が行なわれないなら、デフォルト値です。
dialog_tailbox
は、 bg_task が設定されているかどうかによって " --tailbox"または " --tailboxbg"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * file
は、dialog で表示するファイルの名前です。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int bg_task
真であるなら、ウィンドウは、 dialog_state のコールバックリストに追加され、アプリケーションは、更新するためにウィンドウをポーリングします。そうでなければ、"OK"ボタンが、ウィンドウに追加され、ボタンがアクティブにされるとき、クローズされます。
dialog_textbox
は、" --textbox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * file
は、dialog に表示するファイルの名前です。
int height
0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
dialog_timebox
は、" --timebox"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * subtitle
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int hour
は、表示される最初の時間です。値が負であるなら、現在の時間が使用されます。指定された値が、24 以上であるなら、DLG_EXIT_ERROR を返します。
int minute
は、表示される最初の分です。値が負であるなら、現在の分が使用されます。指定された値が、60 以上であるなら、DLG_EXIT_ERROR を返します。
int second
は、表示される最初の秒です。値が負であるなら、現在の秒が使用されます。指定された値が、60 以上であるなら、DLG_EXIT_ERROR を返します。
dialog_treeview
は、" --treeview"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づきます。
int width
は、ボックスの望ましい幅です。 0 であるなら、height は、画面サイズに基づきます。
int list_height
は、リストを表示するために予約されている最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items 中の列の数です。
char ** items
は、タグ、名前と ( dialog_vars.item_help が設定されるなら) オプションの help 文字列を含む、項目のリストです、また、各項目のための最初の選択状態は、このリストにあります。
int flag
flag
は、checklists (複数選択) のための FLAG_CHECK または radiolists (単一選択) のための FLAG_RADIO のいずれかです。
dialog_yesno
は、" --yesno"オプションを実装します。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。

ユーティリティ関数

コマンドラインの dialog プログラムまたは widget のための低レベルの機能を実装するほとんどの関数は、" dlg_"で始まる名前があります。長年にわたる使用法に従い、表示を初期化して、それを終わらせる関数は、 init_dialogend_dialog と名前が付けられます。

名前が " dialog_"で始まる widget でない関数は、文字列としてライブラリのバージョン番号を返す、 dialog_version だけです。

ここに、ユーティリティ関数とそれらのパラメータに関する簡潔な概要を示します:

dlg_add_callback
複数の tailbox widget からの入力をポーリングすることを許容するために使用される、コールバックを追加します。
DIALOG_CALLBACK * p
は、コールバック情報を含んでいます。
dlg_add_callback_ref
dlg_add_callback と似ていますが、関連する入力が終わるとき、呼び出されるクリーンアップ関数へのポインタと同様に DIALOG_CALLBACK への参照を渡します。
DIALOG_CALLBACK ** p
は、コールバック情報を指します。これは、入力が終わるとき、呼び出し側のポインタを 0 にできるポインタへの参照です。
DIALOG_FREEBACK func
例えば、呼び出し側の追加データを解放するために、入力が終るときに呼び出される関数。
dlg_add_help_formitem
これは、 DIALOG_VARS.help_tagsDIALOG_VARS.item_help 変数のための一貫した振る舞いを強制するために使用されるユーティリティ関数です。
int * result
これは、 DIALOG_VARS.item_help が設定されるなら、DLG_EXIT_ITEM_HELP に更新されます。
char ** tag
tag-text または help-text は、ここで格納されます。
DIALOG_FORMITEM * item
tag-text または help-text のために使用するリスト item を含んでいます。
dlg_add_help_listitem
これは、 DIALOG_VARS.help_tagsDIALOG_VARS.item_help 変数のための一貫した振る舞いを強制するために使用されるユーティリティ関数です。
int * result
これは、 DIALOG_VARS.item_help が設定されるなら、DLG_EXIT_ITEM_HELP に更新されます。
char ** tag
tag-text または help-text は、ここで格納されます。
DIALOG_LISTITEM * item
tag-text または help-text のために使用するリスト item を含んでいます。
dlg_add_last_key
ユーザによって最後に入力されたキーを報告します。これは、 dialog_vars.last_key を使用して --last-key コマンドラインオプションを実行します。
int mode
は、最後のキーの報告が他の結果から切り離される方法を制御します:
-2
(セパレータなし)
-1
(キーの名前の後のセパレータ)
0
(セパレータは、省略可能なキーの名前の前です)
1
(-1 と同じ)
dlg_add_quoted
結果のバッファにクォートされた文字列を追加します ( dlg_add_result を参照)。クォートが必要でないなら、どれも使用されません。 dialog_vars.single_quoted が設定されるなら、シングルクォートが使用されます。そうでなければ、ダブルクォートが使用されます。
char * string
は、追加する文字列です。
dlg_add_result
結果のバッファ dialog_vars.input_result に文字列を追加します。
char * string
は、追加する文字列です。
dlg_add_separator
結果のバッファ dialog_vars.input_result に出力セパレータを追加します。 dialog_vars.output_separator が設定されているなら、それを使用します。そうでなければ、 dialog_vars.separate_output が設定されているなら、改行を使用します。いずれも設定されないなら、空白を使用します。
dlg_add_string
dialog_vars.quoted が真であるかどうかに従って、結果のバッファ ( dlg_add_quoteddlg_add_resultを参照) にクォートされるか、またはクォートされない文字列を追加します。
char * string
は、追加する文字列です。
dlg_align_columns
カラムセパレータ dialog_vars.column_separator にしたがって整列される文字列へのポインタの配列をコピーして、再フォーマットします。カラムセパレータが設定されていないなら、配列は、変更されません。そうでなければ、コピーされて、再フォーマットされます。
警告: この関数は、8 ビットの文字のためだけに実装されています。
char ** target
これは、再フォーマットする配列です。それは、変更する最初の文字列を指します。
int per_row
これは、配列の各行に対する struct のサイズです。
int num_rows
これは、配列の行の数です。
dlg_allocate_gauge
gauge widget を割り付けます。結果を表示するために dlg_update_gauge を使用します。
const char * title
は、widget の上端に表示するタイトル文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int percent
は、進捗バーに表示される割合です。
dlg_asciibox
dialog で使用される行描画文字に対して、対応する "+"または "-"などに変換されたパラメータを返します。パラメータが行描画でないか、または ACS_DARROW のような他の特別の文字であるなら、0 を返します。
chtype ch
は、パラメータで、通常 ACS_ xxx 定数の 1 つです。
dlg_attr_clear
ウィンドウを与えられた属性に設定します。
WINDOW * win
は、更新するウィンドウです。
int height
は、更新するの行の数です。
int width
は、更新するカラムの数です。
chtype attr
は、属性です、例えば、 A_BOLD
dlg_auto_size
自動的に widget のために使用されるウィンドウのサイズ。与えられた高さまたは幅が 0 であるなら、 prompt テキストをそろえて、実際の制限を返します。
const char * title
は、widget の上端に表示するタイトル文字列です。
const char * prompt
は、ここで、widget がどれくらい大きさであるべきかを決定するために使用される、 widget で表示されるメッセージテキストです。
int * height
は、名目上の (nominal) 高さです。
int * width
は、名目上の (nominal) 幅です。
int boxlines
は、縦方向で予約された行の数です。
int mincols
は、使用する最小のカラム数です。
dlg_auto_sizefile
dlg_auto_size に似ていますが、widget がどれくらい大きであるべきかを決定するためにファイルの内容を使用します。
const char * title
は、widget の上端に表示するタイトル文字列です。
const char * file
は、ファイルの名前です。
int * height
は、名目上の (nominal) 高さです。それが -1 であり、( dialog_vars.begin_set が真であるなら、 dialog_vars.begin_y を差し引いた後に) 画面の高さを使用します。
int * width
は、名目上の (nominal) 幅です。それが -1 であり、( dialog_vars.begin_set が真であるなら、 dialog_vars.begin_x を差し引いた後に) 画面の幅を使用します。
int boxlines
は、ボックスを描画するために画面で予約する行の数です。
int mincols
は、ボックスを描画するために画面で予約するカラムの数です。
dlg_beeping
dialog_vars.beep_signal が 0 以外であるなら、これは、一度 beep を呼び出し、 dialog_vars.beep_signal を 0 に設定します。
dlg_boxchar
次のように変換された chtype パラメータを返します:
dialog_vars.ascii_linesdialog_vars.no_lines も設定されていないなら。
dialog_vars.ascii_lines が設定されているなら、 dialog で使用される行描画文字に対して、対応する "+"または "-"などを返します。
そうでなければ、 dialog_vars.no_lines が設定されているなら、秒描画文字のために空白を返します。
パラメータが行描画でないか、または ACS_DARROW のような他の特別の文字であるなら、変更されないパラメータを返します。
dlg_box_x_ordinate
新しい widget のための適切な x 座標 (カラム) 返します。 dialog_vars.begin_set が 1 であるなら、 dialog_vars.begin_x を使用します。そうでなければ、( width パラメータを使用して) 画面の widget をセンタリングします。
int width
は、widget の幅です。
dlg_box_y_ordinate
新しい widget のための適切な y 座標 (行) を返します。 dialog_vars.begin_set が 1 であるなら、 dialog_vars.begin_y を使用します。そうでなければ、( height パラメータを使用して) 画面の widget をセンタリングします。
int height
は、widget の高さです。
dlg_buildlist
これは、アプリケーションが出力バッファに、それらを置かずに、リスト項目状態を直接読み返すことができる、 buildlist widget への代替のインタフェースです。
const char * title
は、widget の上端に表示するタイトル文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int list_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
DIALOG_LISTITEM * items
は、タグ、名前と ( dialog_vars.item_help が設定されるなら) オプションの help 文字列を含む、項目のリストです、また、各項目のための最初の選択状態は、このリストにあります。
const char * states
これは、与えられた状態のために表示する文字のリストです。通常、buildlist は、それぞれ、widget が、"*"と空白として表示する、 true (1) と false (0) 値を提供します。アプリケーションは、このパラメータを任意のヌル文字で終了する文字列に設定します。 widget は、この文字列の長さから状態の数を決定し、ユーザが空白キーを押すように対応する表示文字を通して循環します。
int order_mode
は、将来の増強のために予約されています。
int * current_item
widget は、それが返るとき、参照される位置を現在の表示項目 (カーソル) のインデックスに設定します。
dlg_button_count
リスト中のボタンをカウントします。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
dlg_button_layout
画面サイズに基づくマージンと制限を加えて、それらのラベルに必要である幅を計算することによってボタンのために十分な空間があることを確実にします。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
int * limit
渡された制限より広いなら、関数は、参照される limit を (画面サイズによって制限される) ボタンのために必要な幅に設定します。
dlg_button_sizes
カラムのボタンの配列のサイズを計算します。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
int vertical
は、ボタンが行でなくカラムでアレンジされるなら、真です。
int * longest
参照された位置のカラムの合計数を返します。
int * length
参照された位置の最も長いボタンのカラムを返します。
dlg_button_x_step
ボタンの配列の要素の間に必要なステップサイズを計算します。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
int limit
は、ボタンのために許可された最大のカラムの数です。
int * gap
は、参照された位置のボタンの間の名目上のギャップを格納します。これは、少なくとも 1 であることが強要されます。
int * margin
は、参照された位置の (ボタンのリストのための) 左+右の合計のマージンを格納します。
int * step
は、参照された位置のステップサイズを格納します。
dlg_button_to_char
略語のために使用するラベルの最初の大文字を見つけます。ラベルが空であるなら、-1 を返します。大文字が見つけられないなら、0 を返します。そうでなければ、大文字を返します。
通常、 dlg_draw_buttonsdlg_char_to_button は、最初の大文字を使用します。しかしながら、それらは、ラベルのすべての経過を追い、最初が別のラベルで既に使用されているなら、それらは、別の大文字を捜し続けます。この関数は、そのチェックを行なうための十分な情報を持っていません。
const char * label
は、テストするラベルです。
dlg_calc_list_width
項目のどれも切り詰められていないと仮定して、リストのために最小の幅を計算します。
int item_no
は、 items の行の数です。
DIALOG_LISTITEM * items
は、 nametext フィールドを含みます、例えば、checklists または radiobox リストのために。関数は、これらのフィールドのそれぞれのために必要な最も広いカラムの合計を返します。
dialog_vars.no_items が設定されているなら、リスト中の text フィールドは、無視されます。
dlg_calc_listh
新しい高さと list_height 値を計算します。
int * height
は、入力において、リストの高さを加えることがない高さです。戻り時に、これは、合計のリストの高さを含む実際の widget の高さです。
int * list_height
は、入力において、要求されたリストの高さです。戻り時に、これは、画面サイズ、 dialog_vars.begin_setdialog_vars.begin_y 変数を考慮に入れた後にリストを表示するために利用可能な行の数を含んでいます。
int item_no
は、リスト中の items の行の数です。
dlg_calc_listw
この関数は、時代遅れで、ライブラリ互換性のために提供されています。それは、 dlg_calc_list_width によって置き換えられています。
int item_no
は、 items の数です。
char ** items
は、文字ポインタのリストです。
int group
は、各グループの項目の数です、例えば、2 番目の配列のインデックス。
dlg_char_to_button
存在しているなら、それを見つけ、ボタンのラベルのリストと一例として略語である文字を与えます。略語は、偶然ラベルの大文字で始まる最初の文字となります。文字が見つけられるなら、 labels のリスト内のインデックスを返します。そうでなければ、 DLG_EXIT_UNKNOWN を返します。
int ch
は、見つける文字です。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
dlg_checklist
このエントリポイントは、( dialog_checklist と比較して) dialog のコマンドラインの構文の制限なしで --checklist または --radiolist の機能を提供します。
const char * title
は、widget の先端に表示するタイトル文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int list_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の数です。
DIALOG_LISTITEM * items
これは、checklist で表示する項目のリストです。
const char * states
これは、与えられた状態のために表示する文字のリストです。通常、checklist は、widget が、それぞれ "*"と空白として表示する true (1) と false (0) 値を提供します。アプリケーションは、このパラメータを任意のヌル文字で終了した文字列に設定します。 widget は、この文字列の長さから状態の数を決定して、ユーザがスペースバーを押すように対応する表示文字を繰り返します。
int flag
これは、widget が checklist または radiobox として動作するべきであるかどうかによって FLAG_CHECK または FLAG_RADIO の 1 つであるべきです、
int * current_item
widget は、それが返るとき、参照された位置を現在の表示の項目 (カーソル) のインデックスに設定します。
dlg_check_scrolled
ファンクションキー (または、ファンクションキーにマップされた他のキー) を与えて、上/下のスクロール関数の 1 つであるかどうかチェックします:
 
DLGK_PAGE_FIRST、
 
DLGK_PAGE_LAST、
 
DLGK_GRID_UP、
 
DLGK_GRID_DOWN、
 
DLGK_PAGE_PREV または
 
DLGK_PAGE_NEXT。


いくつかの widget は、たいへん小さなウィンドウでの表示を可能にするために、プロンプトテキストの上下をスクロールするために、これらのキーのバインディングを使用します。
関数は、これらのキーの 1 つを見つけるなら、0 (ゼロ) を返し、そうでなければ、-1 を返します。
int key
は、チェックするファンクションキーです。
int last
は、任意に高いウィンドウにスクロールされたプロンプトを表示するために使用される行の数です。 offset 値のための制限をチェックするために、ここで使用されます。
int page
これは、ボタンを含んでいるなら、ウィンドウより小さい、スクロールされたテキストを書き込むために利用可能な高さです。
bool * show
は、戻り時に、 dlg_print_scrolled がプロンプトテキストを再表示するために使用するべきであるなら、TRUE を保持します。
int * offset
は、入口で、 dlg_print_scrolled のために最後に使用された始めの行番号 (0 からカウントする) を保持します。戻り時に、更新された始めが行番号を保持します。
dlg_clear
ウィンドウをデフォルトの dialog 画面属性に設定します。これは、 screen_color がある rc-file に設定されます。
dlg_clr_result
結果のバッファ ( dialog_vars.input_result) のために使用された記憶域を解放します。対応するポインタは、NULL に設定されます。
dlg_color_count
dialog で設定することができるカラーの数を返します。
dlg_color_setup
dialog で使用されるカラーのペアを初期化します。
dlg_count_argv
引数ベクタのエントリをカウントします。
argv
引数ベクタを指します。
dlg_count_columns
文字列のために使用されるカラムの数を返します。これは、必ずしも文字列のバイト数であるというわけではありません。
const char * string
は、測定する文字列です。
dlg_count_real_columns
dialog_vars.colors が設定されているなら、テキストに色をつけるために使用することができる "\Z"シーケンスからなる、文字列のために使用されるカラムの数を返します。これは、必ずしも文字列中のバイトの数ではありません。
const char * string
は、測定する文字列です。
dlg_count_wchars
文字列のワイド文字の数を返します。
const char * string
は、測定する文字列です。
dlg_create_rc
設定ファイルを作成します、すなわち、rc-file として dialog のよって読み返すことができるファイルに内部のテーブルを書き込みます。
const char * filename
は、書き込むファイルの名前です。
dlg_ctl_size
dialog_vars.size_err が真であるなら、与えらたウィンドウのサイズが仮面に適合することができないくらい大きいかどうかチェックします。そうであるなら、ウィンドウのサイズのエラー報告で終了します。
int height
は、ウィンドウの高さです。
int width
は、ウィンドウの幅です。
dlg_default_button
dialog_vars.default_button が正であるなら、0 で始まるインデックスをテストするために dlg_ok_buttoncode を使用する、そのボタンコードのためのボタンインデックスを返します。そうでなければ (または、ボタンコードに対して一致しなかったなら)、 0 を返します。
dlg_default_formitem
dialog_vars.default_item が null でないなら、 form items のリストの name フィールドにマッチすることによって、その名前を見つけます。見つけられるなら、リストのその項目のインデックスを返します。そうでなければ、0 を返します。
DIALOG_FORMITEM * items
は、検索する項目リストです。 null の name フィールドがあるエントリで終了します。
dlg_default_item
この関数は、時代遅れであり、ライブラリの互換性のために提供されています。それは、 dlg_default_formitemdlg_default_listitem. によって置き換えられています。
char ** items
は、検索する項目リストです。
int llen
は、各グループの項目の件数です、例えば、2 番目の配列のインデックス。
dlg_defaultno_button
dialog_vars.defaultno が真であり、 dialog_vars.nocancel が真でなければ、"Cancel"ボタンのためにボタンのインデックスを見つけます。そうでなければ、"OK" (常に 0 ) のためのインデックスを返します。
dlg_del_window
他の何もかもに塗り替えて、ウィンドウを削除します。
WINDOW * win
は、削除するウィンドウです。
dlg_does_output
これは、出力を行う widget が、呼び出されるたびに呼び出されます。それは、 dialog_state.output_count を増加するので、 dialog の出力関数は、これをテストし、セパレータを追加します。
dlg_draw_arrows
ウィンドウで上/下の矢印を描画します、例えば、スクロール可能なリストのために。それは、 menubox_colormenubox_border_color 属性を使用して dlg_draw_arrows2 を呼び出します。
WINDOW * dialog
は、矢印を描画するウィンドウです。
int top_arrow
は、上矢印がウィンドウの上端に描画するべきであるなら、真です。
int bottom_arrow
は、下矢印がウィンドウの上端に描画するべきであるなら、真です。
int x
は、矢印を描画するウィンドウ内で 0 ベースのカラムです。
int top
は、ウィンドウの先端を表示する水平な行と同様に上矢印を描画するウィンドウ内で 0 ベースのカラムです。
int bottom
は、ウィンドウの下端表示する水平な行と同様に下矢印を描画するウィンドウ内で 0 ベースのカラムです。
dlg_draw_arrows2
ウィンドウで上/下の矢印を描画します、例えば、スクロール可能なリストのために。
WINDOW * dialog
は、矢印を描画するウィンドウです。
int top_arrow
は、上矢印がウィンドウの上端に描画するべきであるなら、真です。
int bottom_arrow
は、下矢印がウィンドウの下端に描画するべきであるなら、真です。
int x
は、矢印を描画するウィンドウ内で 0 ベースのカラムです。
int top
は、ウィンドウの先端を表示する水平な行と同様に上矢印を描画するウィンドウ内で 0 ベースの行です。
int bottom
は、ウィンドウの下端を表示する水平な行と同様に下矢印を描画するウィンドウ内で 0 ベースの行です。
chtype attr
は、ウィンドウのバックグラウンド属性です。
chtype borderattr
は、ウィンドウのボーダ属性です。
dlg_draw_bottom_box
ウィンドウの下端に部分的なボックスを描画します、例えば、ボタンの行を囲むために。全体のウィンドウの周りで既存のボックスでマージするように設計されているので ( dlg_draw_box 参照)、それは、このボックスの上端の角で角の要素ではなく tee 要素を使用します。訳注: tee は、T のことか。
WINDOW * win
は、更新するウィンドウです。
dlg_draw_bottom_box2
ウィンドウの下端に部分的なボックスを描画します、例えば、ボタンの行を囲むために。全体のウィンドウの周りで既存のボックスでマージするように設計されているので ( dlg_draw_box2 参照)、それは、このボックスの上端の角で角の要素ではなく tee 要素を使用します。訳注: tee は、T のことか。
WINDOW * win
は、更新するウィンドウです。 chtype on_left は、ボックスの上端/左端に (すなわち、tee 要素と横線) 色をつけるために 使用されます。 chtype on_right は、ボックスの右端 (すなわち、tee 要素) に色をつけるために使用されます。 chtype on_inside は、ボックスの内部の色を塗りつぶすために使用されます。
dlg_draw_box
行の線画文字で長方形のボックスを描画します。
WINDOW * win
は、更新するウィンドウです。
int y
は、ボックスの上端の行です。
int x
は、ボックスの左のカラムです。
int height
は、ボックスの高さです。
int width
は、ボックスの幅です。
chtype boxchar
は、右/下の縁を着色するために使用されます。また、それは、ボックスの内容のために使用される塗りつぶしカラー (fill-color) です。
chtype borderchar
は、上/左の縁を着色するために使用されます。
dlg_draw_box2
行描画文字で長方形のボックスを描画します。
WINDOW * win
は、更新するウィンドウです。
int y
は、ボックスの上端の行です。
int x
は、ボックスの左端のカラムです。
int height
は、ボックスの高さです。
int width
は、ボックスの幅です。
chtype boxchar
は、ボックスの内容ための塗りつぶす色に使用されます。
chtype borderchar
は、上端/差端の色に使用されます。
chtype borderchar2
は、右端/下端の色に使用されます。
dlg_draw_buttons
与えられた位置でボタンのリストを印刷します。
WINDOW * win
は、更新するウィンドウです。
int y
は、始めの行です。
int x
は、始めのカラムです。
const char ** labels
は、NULL ポインタによって終わるボタンのラベル (へのポインタ) のリストです。
int selected
は、選択されたボタンのリスト内のインデックスです。
int vertical
は、ボタンが行でなくカラムで調整されるなら、真です。
int limit
は、表示のために許容されたカラム (または、 vertical であるなら、行) の数です。
dlg_draw_helpline
与えられたウィンドウの下側に dialog_vars.help_line のテキストを描画します。
WINDOW * dialog
は、変更するウィンドウです。
bool decorations
真であるなら、スクロールする矢印の余地を許可します。
dlg_draw_scrollbar
dialog_state.use_scrollbar が設定されているなら、スクロール可能なデータを保持するウィンドウのライトマージンでスクロールバーを描画します。また (スクロールバーが描画されるかどうかに関係なく)、そのウィンドウの下端によってデータの割合でウィンドウの下端のマージンに注釈を付け、より多くのデータが利用可能であるとき、ウィンドウの表示でマーカを置くために dlg_draw_arrows2 を呼び出します。
WINDOW * win
は、データがスクロールされるウィンドウです。 left, right, top, bottom は、パラメータとして渡されるので、このウィンドウは、追加データを含むことができます。
long first_data
は、現在のウィンドウのデータの最初の行への 0 ベースのインデックスです。
long this_data
は、データの現在の行への 0 ベースのインデックスです。
long next_data
は、現在の行の後の次のデータへの 0 ベースのインデックスです。
long total_data
は、データの秒の合計数です。
int left
は、ウィンドウの 0 ベースのレフトマージン/カラムです。上/下の矢印は、この点からの 5 カラムのところに差し込まれて描画されます。
int right
は、ウィンドウの 0 ベースのライトマージン/カラムです。スクロールバーは、このカラムに対して平坦に描画されます。
int top
は、ウィンドウの上端を表示するための水平な行と同様に上矢印を描画するウィンドウ内の 0 ベースの行です。
int bottom
は、ウィンドウの下端を表示するための水平な行と同様に下矢印を描画するウィンドウ内の 0 ベースの行です。
chtype attr
は、ウィンドウのバックグラウンド属性です。
chtype borderattr
は、ウィンドウのボーダ属性です。
dlg_draw_shadow
3 次元の外観を与えるためにウィンドウ右と下端の端に沿って影を描画します。 (高さなどは、ウィンドウの実際の値と同じでないかもしれません)。
WINDOW * win
は、更新するウィンドウです。
int height
は、ウィンドウの高さです。
int width
は、ウィンドウの幅です。
int y
は、ウィンドウの上端の行です。
int x
は、ウィンドウの左のカラムです。
dlg_draw_title
ウィンドウの上端にセンタリングされたタイトルを描画します。
WINDOW * win
は、更新するウィンドウです。
const char * title
は、widget の先端に表示するタイトル文字列です。
dlg_dummy_menutext
これは、 dialog プログラムの --inputmenu オプションをサポートするユーティリティ関数です。 dialog_vars.input_menu が設定されるなら、 dialog_menu は、 rename_menutext パラメータとして dlg_menu に、このポインタを渡します。そうでなければ、それは、 dlg_dummy_menutext を渡します。
関数は、単に DLG_EXIT_ERROR を返すべきです。
DIALOG_LISTITEM * items
は、メニュー項目のリストです、
int current
は、現在選択された項目のインデックスです。
char * newtext
は、メニュー項目のための更新されるテキストです。
dlg_dump_keys
すべてのユーザ定義のキーのバインディングを与えられたストリームに書き込みます、例えば、 dlg_create_rc の一部として。
FILE * fp
は、バインディングを書き込むストリームです。
dlg_dump_window_keys
与えられたストリームに、すべてのユーザ定義のキーバインディングを書き込みます、例えば、 dlg_create_rc の一部として。
FILE * fp
は、バインディングを書き込むためのストリームです。
WINDOW * win
は、バインディングがダンプされるべきウィンドウです。それが null であるなら、組み込みのバインディングだけがダンプされます。
dlg_eat_argv
引数ベクタから 1 つ以上の項目を削除します。
int *argcp
引数ベクタの長さを与える in/out パラメータ。 char ***argvp 引数ベクタを指す in/out パラメータ。 int start インデックスの始め。 int count 削除する引数の数。
dlg_edit_offset
文字列の文字オフセット (character-offset) を与え、 dialog がカーソルを位置付けるべきである、表示オフセット (display-offset) を返します。このような状況において、文字列は、マルチバイト文字列であるかもしれないので、 "characters"は、マルチカラムであるかもしれません。
char * string
は、解析する文字列です。
int offset
は、文字オフセットです。
int x_last
は、使用できるカラム位置の制限です、例えば、ウィンドウのサイズ。
dlg_edit_string
文字オフセットに挿入される様々な編集文字またはリテラル文字を与えて、文字オフセットを更新します。編集の変更が行われたなら (そして、表示を更新するべきであるなら)、真を返し、キーが、この関数の外側の編集動作でない、KEY_ENTER に似ていたなら、偽を返します。
char * string
は、更新する (マルチバイト) 文字列です。
int * offset
は、文字オフセットです。
int key
は、編集キーです。
int fkey
は、編集キーがファンクションキーであるなら、真です。
bool force
は、ファンクションキーのコード 0 が渡されたとき、この関数の返り値を強制するために、コードを呼び出すことによって、特別なループの場合に使用されます。
dlg_exit
内部の終了コードを与えて、対応する環境変数が設定されるかどうかチェックします。そうであるなら、環境変数にマッチする終了コードに再マップします。最終的に、結果の終了コードで exit を呼び出します。
int code
は、内部の終了コードです、例えば、再マップされる DLG_EXIT_OK
dialog プログラムは、シェルスクリプトが終了コードを再マップできるようにこの関数を使用するので、それらは、ESC と ERROR を区別できます。
dlg_exit_buttoncode
dlg_exit_label のために与えられたボタンのインデックスを dialog の終了コードにマップします。
int button
は、ボタンのインデックスです。
dlg_exit_label
ボタンのラベルのリストを返します。 dialog_var.extra_button が真であるなら、 dlg_ok_labels の結果を返します。そうでなければ、"Exit"ラベルと ( dialog_vars.help_button が設定されているなら) 同様に "Help"ボタンでリストを返します。
dlg_exiterr
すべての tailboxbg widget を kill するプログラムを終了します。
const char * fmt
は、書き込みのための printf に似たメッセージの形式です。
...
 
は、 fmt 形式に適用するための変数です。
dlg_find_index
リストで見つける文字オフセットを与えて、対応する配列のインデックスを返します。
const int * list
は、文字オフセットのリストを含んでいます、すなわち、マルチバイト文字の始まりを示す文字列へのインデックス。
int limit
は、検索する list への最後のインデックスです。
int to_find
は、見つける文字オフセットです。
dlg_finish_string
DIALOG_STATE.finish_string が真であるなら、この関数は、レイアウト計算の速度を上げるために使用されるデータを廃棄します。
const char * string
は、データが廃棄されるべき文字列のアドレスです。内容ではなくアドレスは、キャッシングのいくつかが編集可能な入力フィールドのために使用されるので、ユニークな識別子として使用されます。
dlg_flush_getc
dlg_last_getc によって保存されたローカルデータを取り消します。
dlg_editbox
このエントリポイントは、( dialog_editbox と比較して) dialog のコマンドラインの構文の制限なしで --editbox の機能を提供します
const char * title
は、widget の先端に表示するタイトル文字列です。
char *** list
は、 char * ポインタの配列へのポインタです。配列は、呼び出し側によって割り付けられ、それで、それが指す文字列です。 dlg_editbox 関数は、配列と文字列を再割り付けします。
int * rows
は、名目上の list の長さを指します。参照される値は、 list が再割り付けされるなら、更新されます。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
dlg_form
このエントリポイントは、( dialog_form と比較して) dialog のコマンドラインの構文の制限なしで --form の機能を提供します
const char * title
は、widget の先端に表示するタイトル文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int form_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の数です。
DIALOG_FORMITEM * items
これは、form に表示する項目のリストです。
int * current_item
widget は、戻るときに、現在の表示項目 (カーソル) のインデックスへの参照される位置を設定します。
dlg_free_columns
dlg_align_columns によって割り付けられたデータを解放します。
char ** target
これは、再フォーマットされた配列です。それは、解放する最初の文字列を指します。
int per_row
これは、配列の各行のための struct のサイズです。
int num_rows
これは、配列の行の数です。
dlg_free_formitems
DIALOG_FORMITEM のリストによって所有されていたメモリを解放します。
DIALOG_FORMITEM * items
は、解放するリストです。
dlg_free_gauge
画面から gauge widget を削除し、関連するメモリを解放します。
void * objptr
は、gauge widget を指します。
dlg_getc
与えられたのウィンドウから文字を読み込みます。 (呼び出すアプリケーションのものを簡素化するために) ここで塗り替えを扱います。また、inputcallback(s) がセットアップされるなら、対応するファイルをポーリングし、更新を扱います、例えば、tailbox を表示するために。キーコード (key-code) を返します。
WINDOW * win
は、読み込むウィンドウです。
int * fkey
は、副作用として、キーコード (key-code) が実際にファンクションキーであるなら、これを真に設定します。
dlg_get_attrs
与えられたウィンドウからビデオ属性を抽出します。
WINDOW * win
は、属性を得るウィンドウです。
dlg_getc_callbacks
は、与えられたキーコード ch をコールバックを確立した現在のウィンドウに渡します。コールバックが 0 を返すなら、それを、削除して、次のウィンドウを試みます。それ以上コールバックが残っていないなら、返ります。何かコールバックが見つけられたなら、真を返し、そうでなければ、偽を返します。
int ch
は、キーコードです。
int fkey
は、キーがファンクションキーであるなら、真です。
int * result
は、終了コードを、 dlg_exit を通して渡されるべきである、呼び出し側に渡すために使用されます。
dlg_index_columns
与えられたマルチバイトの文字列の文字のために表示カラムのリストを構築します。
const char * string
は、解析する文字列です。
dlg_index_wchars
呼び出し側が、与えられたワイド文字を始めるバイトオフセットを容易に伝えることができるように、文字列のワイド文字のインデックスを構築します。
const char * string
は、解析する文字列です。
dlg_item_help
dialog_vars.item_help 機能のために文字列を描画します。
const char * txt
は、ヘルプメッセージです。
dlg_killall_bg
dialog にアクティブなコールバックがあるなら、バックグラウンドで保持するためにマークされないすべてを消去します。なにか残っているなら、バックグラウンドのプロセスでそれらを実行します。
int * retval
は、呼び出し側に戻される終了コードを格納します。
dlg_last_getc
は、 dlg_getc を通して読み込まれた最も新しい文字を返します。
dlg_limit_columns
カラムの制限を与えて、その制限に収まることができるワイド文字の数をカウントします。オフセットは、既に書き込まれた先導する文字をスキップするために使用されます。
const char * string
は、解析する文字列です。
int limit
は、カラムの制限です。
int offset
は、解析が続くべきである開始オフセットです。
dlg_lookup_key
キーバインディングをチェックします。 widget に関連しているバインドがないなら、単に与えられた curses キーを返します。そうでなければ、バインディングの結果を返します。
WINDOW * win
は、バインディングがチェックされるウィンドウです。
int curses_key
は、curses キーコードです。
int * dialog_key
は、対応する dialog の内部のコード (dlg_key.h の DLG_KEYS_ENUM を参照) です。
dlg_max_input
dialog_vars.max_input に従ったパラメータを制限します。
int max_len
は、制限する値です。
dlg_match_char
与えられた文字の大文字小文字を無視して、文字列の始まりに対して与えられた文字をマッチさせます。マッチしている文字列は、大文字で始まらなければなりません。
int ch
は、チェックする文字です。
const char * string
は、検索する文字列です。
dlg_menu
このエントリポイントは、( dialog_menu と比較して) dialog のコマンドラインの構文の制限なしで --menu の機能を提供します
const char * title
は、widget の先端に表示するタイトル文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、利用可能な画面サイズを使用するように調整されます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、利用可能な画面サイズを使用するように調整されます。
int menu_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の数です。
DIALOG_LISTITEM * items
これは、form に表示する項目のリストです。
int * current_item
widget は、それが返るとき、参照された位置を現在の表示の項目 (カーソル) のインデックスに設定します。
DIALOG_INPUTMENU rename_menutext
これが dlg_dummy_menutext でないなら、 widget は、選択されたメニュー項目で編集機能を活性化する、特別な "Rename"ボタンを提供して、 inputmenu widget のように動作します。
dlg_move_window
与えられたウィンドウを与えられた位置とサイズに移動するか、またはリサイズします。
WINDOW * win
は、移動するか、またはリサイズするウィンドウです。
WINDOW * height
は、リサイズされるウィンドウの高さです。
WINDOW * width
は、リサイズされるウィンドウの幅です。
WINDOW * y
は、位置を変えられるウィンドウのために使用する y 座標。
WINDOW * x
は、位置を変えられるウィンドウのために使用する x 座標。
dlg_mouse_bigregion
ポインタの下で大きな領域を検索します。
int y
は、マウスクリックが起こった行です。
int x
は、マウスクリックが起こったカラムです。
dlg_mouse_free_regions
マウス領域に関連しているメモリを解放します。
dlg_mouse_mkbigregion
マウスクリックが指定されたコードを返す領域を作成します。
int y
は、その領域の上端の行です。
int x
は、その領域の左カラムです。
int height
は、その領域の高さです。
int width
は、その領域の幅です。
int code
は、その領域を widget 内でユニークにするために使用されるコードです。
int step_x
は、カラム/セルの幅を決定するためにモード 2 (カラム) と 3 (セル) で使用されます。
int step_y
は、現在、未使用です。
int mode
は、マウス位置がどのような (ファンクションキーのような) コードに変換されるかを決定するために使用されます:
1
行によってインデックス付けられます。
2
カラムによってインデックス付けられます。
3
セルによってインデックス付けられます。
dlg_mouse_mkregion
int y
は、その領域の上端の行です。
int x
は、その領域の左カラムです。
int height
は、その領域の高さです。
int width
は、その領域の幅です。
int code
は、その領域を widget 内でユニークにするために使用されるコードです。
dlg_mouse_region
マウスポインタの下でフレームを検索します。
int y
は、マウスクリックの行です。
int x
は、マウスクリックのカラムです。
dlg_mouse_setbase
領域を与えられたウィンドウの始まりに相対にできるように、 dlg_mouse_mkregion へのその後の呼び出しのためのベースを設定します。
int x
は、ベースのための左カラムです。
int y
は、ベースのための上端の行です。
dlg_mouse_setcode
code パラメータに追加される、 dlg_mouse_mkregion によって内部的に使用される値を設定します。異なる値、例えば、 KEY_MAX の倍数、を提供することによって、 widget で複数の "大きな"領域をサポートすることが可能です。 buildlist widget は、左/右の窓枠でマウスクリックを認識するために、この機能を使用します。
int code
は、 dlg_mouse_mkregioncode パラメータに追加する値です。
dlg_mouse_wgetch
は、(curses ライブラリがそれらをサポートするなら) マウスクリックを dlg_mouse_mkbigregionmode に従って位置をエンコードする拡張ファンクションキーにさらにマップする dlg_getc のためのラッパ (wrapper) です。対応するキーコードを返します。
WINDOW * win
は、入力を実行するウィンドウです。
int * fkey
参照される位置は、キーコードが実際の、または、拡張された (マウスの) ファンクションキーであるなら、真に設定されます。
dlg_mouse_wgetch_nowait
これは、 dlg_mouse_wgetch のブロッキングされない変異型です。
WINDOW * win
は、入力を実行するウィンドウです。
int * fkey
参照される位置は、キーコードが実際の、または、拡張された (マウスの) ファンクションキーであるなら、真に設定されます。
dlg_need_separator
出力セパレータが必要であるかどうかチェックします。 dialog_vars.output_separator が設定されているなら、真を返します。そうでなければ、 dialog_vars.input_result が空でなければ、偽を返します。どちらでもなければ、偽を返します。
dlg_new_modal_window
オプションの影をつけてモーダルなウィンドウを作成します。訳注: モーダルは、ユーザが応答しなければ、プログラムの他の制御の入力を受け付けないことです。影は、 dialog_state.use_shadow が真であるなら、作成されます。
WINDOW * parent
は、親ウィンドウ (通常 widget のトップレベルのウィンドウ) です。
int height
は、ウィンドウの高さです。
int width
は、ウィンドウの幅です。
int y
は、ウィンドウの上端の行です。
int x
は、ウィンドウの左カラムです。
dlg_new_window
オプションで影が付いたウィンドウを作成します。影は、 dialog_state.use_shadow が真であるなら、作成されます。
int height
は、ウィンドウの高さです。
int width
は、ウィンドウの幅です。
int y
は、ウィンドウの上端の行です。
int x
は、ウィンドウの左カラムです。
dlg_next_button
ラベルのリストの次のインデックスを返します。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
int button
は、現在のボタンのインデックスです。
dlg_next_ok_buttonindex
呼び出し側がボタンをリストするために dlg_ok_labels を使用していると仮定して、ボタンのリストの次のインデックスを見つけます。
int current
は、ボタンのリストの現在のインデックスです。
int extra
は、負であるなら、widget で特別のアクティブな領域を列挙する方法を提供します。
dlg_ok_buttoncode
dlg_ok_labels のために与えられたボタンのインデックスを dialog の終了コードにマップします。
int button
は、(必ずしもラベルのリストのインデックスと同じであるというわけではない) ボタンのインデックスです。
dlg_ok_label
"Ok"ラベルでリストを返し、 "Help"ラベルと同様に、 dialog_vars.help_button が真であるなら、真を返します。
dlg_ok_labels
widget の OK/Cancel グループのためのボタンのラベルのリストを返します。
dlg_ordinate
dialog 縦座標から curses 縦座標を作るために、0 より大きいなら、減少し、整数として文字列をデコードします。
dlg_parse_bindkey
"bindkeys"設定ファイルのエントリのパラメータを解析します。これは、"*"である widget 名を予想し、curses キー定義が続き、次に dialog キー定義が続きます。
char * params
は、解析するパラメータの文字列です。
dlg_parse_rc
設定ファイルを解析し、変数をセットアップします。
dlg_prev_button
ラベルのリストの前のインデックスを返します。
const char ** labels
は、NULL ポインタによって終わるボタンラベル (へのポインタ) のリストです。
int button
は、現在のボタンのインデックスです。
dlg_print_listitem
これは、様々な "list" widget、例えば、checklist, menu, buildlist, treeview、のために使用されるヘルパ (helper) 関数です。各 list-widget には、表示することができる各項目のための "tag"と "description"値があります。 dialog_vars.no_tags が真であるなら、"tag"値は、表示されません。 (tag または description) を表示する最初の値の最初の文字は、 widget が迅速なナビゲーションのために、それと一致することを示すために強調されます。
WINDOW * win
テキストを表示するウィンドウ。
const char * text
表示する値。
int climit
テキストの印刷 (表示) のために利用可能なカラムの数。
bool first
これが ("tag"と "description"のための) 最初の呼び出しで、値の最初の文字が強調されるべきであるなら、真。
int selected
テキストが "選択された"色を使用して表示されるべきであるなら、0 以外。
dlg_print_scrolled
これは、ユーザが、長すぎるプロンプトのテキストを上/下にスクロールすることができる dlg_print_autowrap のためのラッパです。
ここで、パラメータとして使用される offset 変数を更新する関数については、 dlg_check_scrolled を参照してください。それは、この関数を補間します。利用者は、両方を必要とします。 pauseopt が設定されているなら、この関数は、 dlg_check_scrolled 呼び出しに必要な更新された last パラメータを返します。
WINDOW * win
は、更新するウィンドウです。
const char * prompt
は、印刷する文字列です。
int offset
は、折り畳まれたテキストを書き込む始めの行番号です。
int height
は、折り畳まれたテキストを書き込むために利用可能な高さです。
int width
は、折り畳みが起こるはずの幅です。
int pauseopt
は、スクロールするための特別の機能が有効にされているなら、真です。偽であるなら、これは、どんなスクロールも行わずに、 dlg_print_autowrap を呼び出します。
dlg_print_line
指定されたライトマージンの制限内でウィンドウでプロンプトの 1 行を印刷します。行は、語の境界で終わり、次の行の始まりへのポインタが返され、 *prompt の終りに到達したなら、NULL ポインタが返されます。
WINDOW * win
は、更新するウィンドウです。
chtype * attr
は、始めの属性を保持し、文字列に適用された最後の属性を反映するために更新されます。
const char * prompt
は、印刷する文字列です。
int lm
は、レフトマージンです。
int rm
は、ライトマージンです。
int * x
は、終わりの x 縦座標を返します。
dlg_prev_ok_buttonindex
dlg_ok_labels からリスト中の前のボタンのインデックスを見つけます。
int current
は、現在のインデックスです。
int extra
は、負であるなら、widget で特別のアクティブな領域を列挙する方法を提供します。
dlg_print_autowrap
文字列が 1 つの行に適合することができないくらい長いなら、次の行に自動的に折り畳む、ウィンドウのテキストの文字列を印刷します。文字列が埋め込まれた改行を含むことに注意してください。テキストは、ウィンドウの上端の始めに書き込まれます。
WINDOW * win
は、更新するウィンドウです。
const char * prompt
は、印刷する文字列です。
int height
は、折り畳まれた文字列が制限される名目上の (nominal) の高さです。
int width
は、折り畳みが起こるはずの幅です。
dlg_print_size
dialog_vars.print_siz が真であるなら、(widget から) 与えれた高さ/幅を dialog_state.output に印刷します、例えば、 Size: height, width
int height
は、ウィンドウの高さです。
int width
は、ウィンドウの幅です。
dlg_print_text
text から cols カラムまで、オプションで、属性とカラーのための dialog のエスケープシーケンスの表現 (rendering) を印刷します。
WINDOW * win
は、更新するウィンドウです。
const char * txt
は、印刷する文字列です。
int col
は、カラムの制限です。
chtype * attr
は、始めの属性を保持し、文字列に適用された最後の属性を反映するために更新されます。

dlg_progressbox は、" --prgbox"と " --progressbox"オプションを実装します。

const char * title
は、widget の先端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。空であるか、またはヌル文字であるなら、プロンプトは、表示されません。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づいています。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づいています。
int pauseopt
真であるなら、"OK"ボタンが表示され、dialog は、それが完了するまでウェートします。 "OK"ボタンで、"programbox"を表示し、 "OK"ボタンなしで、"progressbox"を表示します。
FILE * fp
は、パイプまたは通常のファイルであるかもしれない、ファイルポインタです。
dlg_put_backtitle
dialog_vars.backtitle が null でないなら、バックグラウンドのタイトルを表示します。バックグラウンドのタイトルは、画面の上端に表示されます。
dlg_reallocate_gauge
gauge widget を割り付けるか、または再び割り付けます ( dlg_allocate_gauge を参照)。結果を表示するために dlg_update_gauge を使用します。
void ** objptr
このパラメータによって参照されるポインタが NULL であるなら、関数は、 dlg_allocate_gauge を使用して、新しい gauge widget を作成します。そうでなければ、この関数で前の呼び出しからウィンドウを再使用して、 title と cprompt の値を更新します。副作用として、関数は、 objptr パラメータによって更新された object-pointer を格納します。
const char * title
は、widget の先頭で表示する title 文字列です。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの希望の高さです。 0 であるなら、高さは、利用可能な画面サイズを使用するために調節されます。
int width
は、ボックスの希望の幅です。 0 であるなら、高さは、利用可能な画面サイズを使用するために調節されます。
int percent
は、進捗バーで表示されるパーセンテージです。
dlg_register_buttons
widget の開発者は、widget に関連しているボタンのラベルのリストのために dlg_register_window の後に、この関数を呼び出すべきです。ボタンにキーをバインドするかもしれません、例えば、 DLGK_OK のための "OK"。
WINDOW * win
は、ボタンに関連づけるウィンドウです。
const char * name
は、widget のバインディングの名前 (通常 widget の名前) です。
const char ** buttons
は、ボタンのリストです。
dlg_register_window
与えられ指定された widget のウィンドウに関して、バインディングテーブルを関連付けます。
WINDOW * win
は、ボタンを関連づけるウィンドウです。
const char * name
は、widget のバインディングの名前 (通常 widget の名前) です。
DLG_KEYS_BINDING * binding
は、バインディングテーブルです。
dlg_remove_callback
コールバックを削除します。
DIALOG_CALLBACK * p
は、コールバック情報を含んでいます。
dlg_renamed_menutext
これは、 dialog プログラムの --inputmenu オプションをサポートするユーティリティ関数です。 dialog_vars.input_menu が設定されるなら、 dialog_menu は、 rename_menutext パラメータとして、 dlg_menu に、このポインタ渡します。そうでなければ、それは、 dlg_dummy_menutext を渡します。
関数は、後にメニュー項目の名前、と (3 つの項目を分離する空白がある) newtext 値を続けて、"RENAMED"を dialog_vars.input_result に追加して、 DLG_EXIT_EXTRA を返すべきです。
DIALOG_LISTITEM * items
は、メニュー項目のリストです。
int current
は、現在選択された項目のインデックスです。
char * newtext
は、メニュー項目のための更新されるテキストです。
dlg_restore_vars
与えられた変数から dialog の変数を復旧します ( dialog_save_vars を参照)。
DIALOG_VARS * save
は、復旧する変数です。
DIALOG_VARS.input_lengthDIALOG_VARS.input_result メンバが、呼び出し側にデータを渡すために、widget によって使用されるので、これらは、特に、処理されます。それらは、この関数によって変更されません。
dlg_result_key
"OK"のような widget の押しボタンの 1 つに対応するかどうか確かめるために、 dialog 内部のキーコードをテストします。これは、直接 DLGK_OK などにマップする組み込みのバインディングがあるので、ユーザによって定義されたキーのバインディングがある場合のみ役に立ちます、マッピングが行われたなら、真を返します。
int dialog_key
は、テストするための dialog のキーです。
int fkey
は、これがファンクションキーであるなら、真です。
int * resultp
は、参照された位置のマッピングの結果を格納します。
dlg_save_vars
与えられた変数に dialog の変数を保存します ( dlg_restore_vars を参照)。
DIALOG_VARS * save
は、保存する変数です。
dlg_set_focus
画面の他のウィンドウ上に表示させて、与えれたウィンドウに焦点を設定します。
WINDOW * parent
は、親ウィンドウ (通常 widget の最上位のウィンドウ) です。
WINDOW * win
は、焦点を置くウィンドウ (通常 widget のサブウィンドウ) です。
dlg_set_result
dialog_vars.input_result の結果のための固定バッファをセットアップします。
const char * string
は、結果のための新しい内容です。
dlg_show_string
ボックスの中に適合し、現在の文字オフセットを表示するために必要に応じてシフトされる文字列を表示します。
WINDOW * win
は、表示するウィンドウです。
const char * string
は、表示する文字列です。
int offset
は、始め (バイトではなく、文字) のオフセットです。
chtype attr
は、文字列に使用するウィンドウの属性です。
int y_base
は、画面上の始める行です。
int x_base
は、画面上の始めるカラムです。
int x_last
は、画面上のカラムの数です。
bool hidden
は、真なら、入力でエコーしません。
bool force
は、真なら、強制的に塗り替えます。
dlg_strclone
は、 strdup のように文字列をコピーします。
const char * cprompt
は、コピーする文字列です。
dlg_strcmp
は、大文字小文字を無視して、2 つの文字列を比較します。
const char * a
は、1 つの文字列です。
const char * b
は、もう片方の文字列です。
dlg_string_to_argv
文字列を (呼び出し側によって解放されなければならない) インデックスを返す引数ベクタに変換します。文字列は、(トークンの間のギャップをヌルに置き換えるように) 変更されます
char * blob
は、変換する文字列です。
dlg_sub_window
は、サブウィンドウを作成します、例えば、widget の入力領域のために。
WINDOW * win
は、親ウィンドウです。
int height
は、サブウィンドウの高さです。
int width
は、サブウィンドウの幅です。
int y
は、サブウィンドウの上端の行です。
int x
は、サブウィンドウの左カラムです。
dlg_tab_correct_str
dialog_vars.tab_correct が真であるなら、タブを単一の空白に変換します。変換された結果を返します。呼び出し側は、文字列を解放するのに責任があります。
char * prompt
は、変換する文字列です。
dlg_trace
パラメータが null でないなら、その名前でトレースファイルをオープンし、 dialog_state.trace にファイルポインタを収納します。
dlg_trace_chr
dialog_state.trace が設定されているなら、パラメータを印刷可能な表現に変換し、"chr"行でそれをログ記録します。
int ch
は、名目上のキーコード値です。
int fkey
は、値が実際にファンクションキーであるなら、0 以外です。これらのいくつかは、DLG_KEYS_ENUM で宣言された値です。
dlg_trace_msg
トレースファイルに書式化されたメッセージを書き込みます。
const char * fmt
は、書き込むための printf に似たメッセージのフォーマットです。
...
 
は、 fmt 形式に適用する変数です。
トレース機能が、ライブラリにコンパイルされない場合に、移植性のために DLG_TRACE マクロを使用します。それは、例えば、次のように、パラメータの変数の数で動作する括弧の特別なレベルを使用します。

DLG_TRACE(("this is dialog version %s\n", dialog_version()));
dlg_trace_win
dialog_state.trace が設定されているなら、与えられたウィンドウの印刷可能な絵をログ記録します。
dlg_treeview
これは、アプリケーションが出力バッファに、それらを入れずに、リスト項目状態を直接読み返すことができる、'treeview' への代替のインタフェースです。
const char * title
は、widget の上端のタイトルです。
const char * cprompt
は、widget 内に表示されるプロンプトのテキストです。
int height
は、ボックスの望ましい高さです。 0 であるなら、height は、画面サイズに基づきます。
int width
は、ボックスの望ましい幅です。 0 であるなら、width は、画面サイズに基づきます。
int list_height
は、リストを表示するために予約する最小の高さです。 0 であるなら、与えられた heightwidth に基づいて計算されます。
int item_no
は、 items の行の数です。
DIALOG_LISTITEM * items
は、タグ、名前と ( dialog_vars.item_help が設定されるなら) オプションの help 文字列を含む、項目のリストです、また、各項目のための最初の選択状態は、このリストにあります。
const char * states
これは、与えられた状態のために表示する文字のリストです。通常、buildlist は、それぞれ、widget が、"*"と空白として表示する、 true (1) と false (0) 値を提供します。アプリケーションは、このパラメータを任意のヌル文字で終了する文字列に設定します。 widget は、この文字列の長さから状態の数を決定し、ユーザが空白キーを押すように対応する表示文字を通して循環します。
int * depths
これは、ツリーの各項目の深さのリストです。それは、既存の関数の再使用を許可する items からの個別のパラメータです。
int flag
は、checklists (複数選択) のための FLAG_CHECK または radiolists (単一選択) のための FLAG_RADIO のいずれかです。
int * current_item
widget は、それが返るとき、参照される位置を現在の表示項目 (カーソル) のインデックスに設定します。
dlg_trim_string
dialog プログラムは、('\n' として参照される) 改行文字、そして/または、特別な部分文字列 (改行文字に変換できる) "\n"を含む、メッセージ文字列を調整するために各 widget で、これを使用します。
いくつかのオプション機能があります:
dialog_vars.no_nl_expand が設定されてない場合、
"\n"部分文字列があるなら、関数は、余分な空白を保持します。例えば、改行 (部分文字列または文字) に続く空白は、段付けとして使用するために保持されます。
関数は、埋め込まれた "\n"部分文字列を '\n' 文字に変更します。
dialog_vars.no_nl_expand が設定されていないか、または "\n"部分文字列がないなら、この関数は、単純に行末をそろえるためにすべての余分な空白を取り除きます。
dialog_vars.cr_wrap が設定されているなら、関数は、'\n' 改行文字を保持します。そうでなければ、各 '\n' 改行文字は、空白に変換されます。
dialog_vars.nocollapse が設定されていないなら、各タブ文字は、空白に変換され、空白 (空白またはタブ) のシーケンスは、単一の空白に減らされます。
char * src
は、整えられる文字列です。
dlg_unregister_window
与えられたウィンドウのためのバインディングを削除します。
WINDOW * win
は、バインディングを削除するウィンドウです。
dlg_update_gauge
異なった割合の値を表示するために gauge widget を更新します。
void * objptr
は、更新する gauge オブジェクトを指します。
int percent
は、表示する新しい割合の値です。
dlg_yes_buttoncode
dlg_yes_labels のために与えらたボタンのインデックスを dialog の終了コードにマップします。
int button
は、ボタンのインデックスです。
dlg_yes_labels
Yes/No ラベルのためのボタンのリストを返します。

関連項目

dialog (1).

作者

Thomas E. Dickey
$Date: 2013/09/22 23:58:11 $