Newt 関数
導入
これは RedHat Newt ライブラリのための PHP 拡張モジュールで、 ユーザに優しいアプリケーションを作成するための、ターミナルベースの ウィンドウやウィジェットのライブラリです。 PHP でこの拡張モジュールを有効にすることで Newt ウィジェットが使用可能に なります。この中にはウィンドウやボタン・チェックボックス・ラジオボタン・ ラベル・エディットボックス・スクロールバー・テキストエリア・スケールなどが 含まれます。この拡張モジュールの使用方法は、もとの C 言語用の API と非常によく似ています。
要件
このモジュールは RedHat Newt ライブラリの関数を使用します。 libnewt バージョン >= 0.51.0 が必要です。
インストール手順
この » PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » https://pecl.php.net/package/newt.
PHP 4 の場合、この PECL 拡張モジュール のソースは、PHP のソースの ext/ ディレクトリ、または 上の PECL リンクで入手可能です。 これらの関数を使用するには、--with-newt[=DIR] オプションを使用し、newt サポートを有効にした上で CGI あるいは CLI 版の PHP を コンパイルする必要があります。
注意: この拡張モジュールは、Windows プラットフォームでは使用できません。
この拡張モジュールをコンパイルするには、curses ライブラリおよび slang ライブラリも必要です。 これらのライブラリの場所を指定するには、以下の設定オプションを 使用します。 --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang
リソース型
この拡張モジュールは 2 つのリソース型 "newt component" および "newt grid" を使用します。 リソース型 "newt component" は関数から返されるもので、一般的な newt ウィジェット(例: newt_button())を作成します。 リソース型 "newt grid" はコンポーネントの特別なリンク ID で、これは newt グリッドファクトリ関数(例: newt_create_grid()) によって返されます。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
Newt フォームの終了原因
定数 | 意味 |
---|---|
NEWT_EXIT_HOTKEY | newt_form_add_hot_key() で定義したホットキーが押されました |
NEWT_EXIT_COMPONENT | 何らかのコンポーネントがフォームを終了させました |
NEWT_EXIT_FDREADY | newt_form_watch_fd() で指定したファイル記述子の 読み込みあるいは書き込みの準備が完了しました |
NEWT_EXIT_TIMER | newt_form_set_timer() で指定した時間が 経過しました |
Newt 色セット
定数 | 意味 |
---|---|
NEWT_COLORSET_ROOT | |
NEWT_COLORSET_BORDER | |
NEWT_COLORSET_WINDOW | |
NEWT_COLORSET_SHADOW | |
NEWT_COLORSET_TITLE | |
NEWT_COLORSET_BUTTON | |
NEWT_COLORSET_ACTBUTTON | |
NEWT_COLORSET_CHECKBOX | |
NEWT_COLORSET_ACTCHECKBOX | |
NEWT_COLORSET_ENTRY | |
NEWT_COLORSET_LABEL | |
NEWT_COLORSET_LISTBOX | |
NEWT_COLORSET_ACTLISTBOX | |
NEWT_COLORSET_TEXTBOX | |
NEWT_COLORSET_ACTTEXTBOX | |
NEWT_COLORSET_HELPLINE | |
NEWT_COLORSET_ROOTTEXT | |
NEWT_COLORSET_ROOTTEXT | |
NEWT_COLORSET_EMPTYSCALE | |
NEWT_COLORSET_FULLSCALE | |
NEWT_COLORSET_DISENTRY | |
NEWT_COLORSET_COMPACTBUTTON | |
NEWT_COLORSET_ACTSELLISTBOX | |
NEWT_COLORSET_SELLISTBOX |
Newt 引数のフラグ
定数 | 意味 |
---|---|
NEWT_ARG_LAST | |
NEWT_ARG_APPEND |
Newt フラグの状態
定数 | 意味 |
---|---|
NEWT_FLAGS_SET | |
NEWT_FLAGS_RESET | |
NEWT_FLAGS_TOGGLE |
Newt コンポーネントのフラグ
定数 | 意味 |
---|---|
NEWT_FLAG_RETURNEXIT | コンポーネントがアクティブになった際にフォームを終了します |
NEWT_FLAG_HIDDEN | コンポーネントは非表示です |
NEWT_FLAG_SCROLL | コンポーネントはスクロール可能です |
NEWT_FLAG_DISABLED | コンポーネントは使用不能です |
NEWT_FLAG_BORDER | |
NEWT_FLAG_WRAP | テキストを折り返します |
NEWT_FLAG_NOF12 | F12 を押してもフォームを終了しません |
NEWT_FLAG_MULTIPLE | |
NEWT_FLAG_SELECTED | コンポーネントは選択されています |
NEWT_FLAG_CHECKBOX | コンポーネントはチェックボックスです |
NEWT_FLAG_PASSWORD | 入力コンポーネントはパスワード入力欄です |
NEWT_FLAG_SHOWCURSOR | カーソルを表示します |
ファイル識別子のフラグ
定数 | 意味 |
---|---|
NEWT_FD_READ | |
NEWT_FD_WRITE | |
NEWT_FD_EXCEPT |
チェックボックスツリーのフラグ
定数 | 意味 |
---|---|
NEWT_CHECKBOXTREE_UNSELECTABLE | |
NEWT_CHECKBOXTREE_HIDE_BOX | |
NEWT_CHECKBOXTREE_COLLAPSED | |
NEWT_CHECKBOXTREE_EXPANDED | |
NEWT_CHECKBOXTREE_UNSELECTED | |
NEWT_CHECKBOXTREE_SELECTED |
入力フラグ
定数 | 意味 |
---|---|
NEWT_ENTRY_SCROLL | |
NEWT_ENTRY_HIDDEN | |
NEWT_ENTRY_RETURNEXIT | |
NEWT_ENTRY_DISABLED |
リストボックスのフラグ
定数 | 意味 |
---|---|
NEWT_LISTBOX_RETURNEXIT |
テキストボックスのフラグ
定数 | 意味 |
---|---|
NEWT_TEXTBOX_WRAP | テキストボックスのテキストを折り返します |
NEWT_TEXTBOX_SCROLL | テキストボックスのテキストをスクロールします |
フォームのフラグ
定数 | 意味 |
---|---|
NEWT_FORM_NOF12 | F12 を押しても終了しません |
Newt キー
定数 | 意味 |
---|---|
NEWT_KEY_TAB | |
NEWT_KEY_ENTER | |
NEWT_KEY_SUSPEND | |
NEWT_KEY_ESCAPE | |
NEWT_KEY_RETURN | |
NEWT_KEY_EXTRA_BASE | |
NEWT_KEY_UP | |
NEWT_KEY_DOWN | |
NEWT_KEY_LEFT | |
NEWT_KEY_RIGHT | |
NEWT_KEY_BKSPC | |
NEWT_KEY_DELETE | |
NEWT_KEY_HOME | |
NEWT_KEY_END | |
NEWT_KEY_UNTAB | |
NEWT_KEY_PGUP | |
NEWT_KEY_PGDN | |
NEWT_KEY_INSERT | |
NEWT_KEY_F1 | |
NEWT_KEY_F2 | |
NEWT_KEY_F3 | |
NEWT_KEY_F4 | |
NEWT_KEY_F5 | |
NEWT_KEY_F6 | |
NEWT_KEY_F7 | |
NEWT_KEY_F8 | |
NEWT_KEY_F9 | |
NEWT_KEY_F10 | |
NEWT_KEY_F11 | |
NEWT_KEY_F12 | |
NEWT_KEY_RESIZE |
Newt アンカー
定数 | 意味 |
---|---|
NEWT_ANCHOR_LEFT | |
NEWT_ANCHOR_RIGHT | |
NEWT_ANCHOR_TOP | |
NEWT_ANCHOR_BOTTOM |
グリッドのフラグ
定数 | 意味 |
---|---|
NEWT_GRID_FLAG_GROWX | |
NEWT_GRID_FLAG_GROWY | |
NEWT_GRID_EMPTY | |
NEWT_GRID_COMPONENT | |
NEWT_GRID_SUBGRID |
例
この例は、RedHat の 'setup' ユーティリティダイアログを PHP に移植した もので、テキストモードで動作します。
Example#1 Newt の使用例
<?php
newt_init ();
newt_cls ();
newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
newt_push_help_line (null);
newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");
newt_get_screen_size (&$rows, &$cols);
newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");
$form = newt_form ();
$list = newt_listbox (3, 2, 10);
foreach (array (
"Authentication configuration",
"Firewall configuration",
"Mouse configuration",
"Network configuration",
"Printer configuration",
"System services") as $l_item)
{
newt_listbox_add_entry ($list, $l_item, $l_item);
}
$b1 = newt_button (5, 12, "Run Tool");
$b2 = newt_button (21, 12, "Quit");
newt_form_add_component ($form, $list);
newt_form_add_components ($form, array($b1, $b2));
newt_refresh ();
newt_run_form ($form);
newt_pop_window ();
newt_pop_help_line ();
newt_finished ();
newt_form_destroy ($form);
?>
目次
- newt_bell — ビープ音を端末に送信する
- newt_button_bar — 作成したボタンを含むグリッドを返す
- newt_button — 新しいボタンを作成する
- newt_centered_window — 画面の中央に指定したサイズのウィンドウをオープンする
- newt_checkbox_get_value — チェックボックスリソースの値を取得する
- newt_checkbox_set_flags — チェックボックスリソースを設定する
- newt_checkbox_set_value — チェックボックスの値を設定する
- newt_checkbox_tree_add_item — 新しいアイテムをチェックボックスツリーに追加する
- newt_checkbox_tree_find_item — チェックボックスツリーのアイテムを探す
- newt_checkbox_tree_get_current — チェックボックスツリーの選択されているアイテムを返す
- newt_checkbox_tree_get_entry_value — 説明
- newt_checkbox_tree_get_multi_selection — 説明
- newt_checkbox_tree_get_selection — 説明
- newt_checkbox_tree_multi — 説明
- newt_checkbox_tree_set_current — 説明
- newt_checkbox_tree_set_entry_value — 説明
- newt_checkbox_tree_set_entry — 説明
- newt_checkbox_tree_set_width — 説明
- newt_checkbox_tree — 説明
- newt_checkbox — 説明
- newt_clear_key_buffer — 追加の入力を待たずに、端末の入力バッファの内容をクリアする
- newt_cls — 説明
- newt_compact_button — 説明
- newt_component_add_callback — 説明
- newt_component_takes_focus — 説明
- newt_create_grid — 説明
- newt_cursor_off — 説明
- newt_cursor_on — 説明
- newt_delay — 説明
- newt_draw_form — 説明
- newt_draw_root_text — 指定した位置に文字列を表示する
- newt_entry_get_value — 説明
- newt_entry_set_filter — 説明
- newt_entry_set_flags — 説明
- newt_entry_set — 説明
- newt_entry — 説明
- newt_finished — newt インターフェースを終了する
- newt_form_add_component — フォームにコンポーネントを追加する
- newt_form_add_components — フォームに複数のコンポーネントを追加する
- newt_form_add_hot_key — 説明
- newt_form_destroy — フォームを破壊する
- newt_form_get_current — 説明
- newt_form_run — フォームを実行する
- newt_form_set_background — 説明
- newt_form_set_height — 説明
- newt_form_set_size — 説明
- newt_form_set_timer — 説明
- newt_form_set_width — 説明
- newt_form_watch_fd — 説明
- newt_form — フォームを作成する
- newt_get_screen_size — 参照で渡された引数に、現在の端末の大きさを格納する
- newt_grid_add_components_to_form — 説明
- newt_grid_basic_window — 説明
- newt_grid_free — 説明
- newt_grid_get_size — 説明
- newt_grid_h_close_stacked — 説明
- newt_grid_h_stacked — 説明
- newt_grid_place — 説明
- newt_grid_set_field — 説明
- newt_grid_simple_window — 説明
- newt_grid_v_close_stacked — 説明
- newt_grid_v_stacked — 説明
- newt_grid_wrapped_window_at — 説明
- newt_grid_wrapped_window — 説明
- newt_init — newt を初期化する
- newt_label_set_text — 説明
- newt_label — 説明
- newt_listbox_append_entry — 説明
- newt_listbox_clear_selection — 説明
- newt_listbox_clear — 説明
- newt_listbox_delete_entry — 説明
- newt_listbox_get_current — 説明
- newt_listbox_get_selection — 説明
- newt_listbox_insert_entry — 説明
- newt_listbox_item_count — 説明
- newt_listbox_select_item — 説明
- newt_listbox_set_current_by_key — 説明
- newt_listbox_set_current — 説明
- newt_listbox_set_data — 説明
- newt_listbox_set_entry — 説明
- newt_listbox_set_width — 説明
- newt_listbox — 説明
- newt_listitem_get_data — 説明
- newt_listitem_set — 説明
- newt_listitem — 説明
- newt_open_window — 指定したサイズと位置でウィンドウをオープンする
- newt_pop_help_line — 現在のヘルプ行をスタックの内容で置き換える
- newt_pop_window — トップウィンドウを画面から消去する
- newt_push_help_line — 現在のヘルプ行をスタックに保存し、新しい行を表示する
- newt_radio_get_current — 説明
- newt_radiobutton — 説明
- newt_redraw_help_line — 説明
- newt_reflow_text — 説明
- newt_refresh — 画面の変更された部分を更新する
- newt_resize_screen — 説明
- newt_resume — newt_suspend をコールした後に newt インターフェースの使用を再開する
- newt_run_form — フォームを実行する
- newt_scale_set — 説明
- newt_scale — 説明
- newt_scrollbar_set — 説明
- newt_set_help_callback — 説明
- newt_set_suspend_callback — ユーザがサスペンドキーを押した際に起動するコールバック関数を設定する
- newt_suspend — 端末を元の状態に戻すよう、newt に通知する
- newt_textbox_get_num_lines — 説明
- newt_textbox_reflowed — 説明
- newt_textbox_set_height — 説明
- newt_textbox_set_text — 説明
- newt_textbox — 説明
- newt_vertical_scrollbar — 説明
- newt_wait_for_key — キーが押されるまで結果を返さない
- newt_win_choice — 説明
- newt_win_entries — 説明
- newt_win_menu — 説明
- newt_win_message — 説明
- newt_win_messagev — 説明
- newt_win_ternary — 説明