これは RedHat Newt ライブラリのための PHP 拡張モジュールで、 ユーザに優しいアプリケーションを作成するための、ターミナルベースの ウィンドウやウィジェットのライブラリです。 PHP でこの拡張モジュールを有効にすることで Newt ウィジェットが使用可能に なります。この中にはウィンドウやボタン・チェックボックス・ラジオボタン・ ラベル・エディットボックス・スクロールバー・テキストエリア・スケールなどが 含まれます。この拡張モジュールの使用方法は、もとの C 言語用の API と非常によく似ています。
このモジュールは RedHat Newt ライブラリの関数を使用します。 libnewt バージョン >= 0.51.0 が必要です。
この PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 http://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 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
表 1. 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() で指定した時間が 経過しました |
表 2. 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 |
表 5. 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 | カーソルを表示します |
表 12. 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 |
この例は、RedHat の 'setup' ユーティリティダイアログを PHP に移植した もので、テキストモードで動作します。