This is a PHP language extension for RedHat Newt library, a terminal-based window and widget library for writing applications with user friendly interface. Once this extension is enabled in PHP it will provide the use of Newt widgets, such as windows, buttons, checkboxes, radiobuttons, labels, editboxes, scrolls, textareas, scales, etc. Use of this extension if very similar to the original Newt API of C programming language.
This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.
本 » PECL 扩展未绑定于 PHP 中。 安装此 PECL 扩展库的信息可在手册中标题为 PECL 扩展库安装的一章中找到。 更多信息如新版本,下载,源文件,维护者信息以及更新日志等可以在这里找到: » http://pecl.php.net/package/newt.
在 PHP 4 中本 PECL 扩展的源程序位于 PHP 源程序中的 ext/ 目录下或者在上面的 PECL 连接中。 In order to use these functions you must compile CGI or CLI PHP with newt support by using the --with-newt[=DIR] configure option.
Note: This extension is not available for Windows platform.
You may need also curses and slang libraries, in order to compile this extension. To specify locations of these libraries, use the following configuration options: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang
This extension uses two resource types: "newt component" and "newt grid". Resource type "newt component" is returned by functions, which create common newt widgets (for example: newt_button()) Resource type "newt grid" is a special link identifier for components, returned by newt grid factory functions (for example: newt_create_grid())
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
constant | meaning |
---|---|
NEWT_EXIT_HOTKEY | hotkey defined by newt_form_add_hot_key() was pressed |
NEWT_EXIT_COMPONENT | some component has caused form to exit |
NEWT_EXIT_FDREADY | file descriptor specified in newt_form_watch_fd() is ready to be read or written to |
NEWT_EXIT_TIMER | time specified in newt_form_set_timer() has elapsed |
constant | meaning |
---|---|
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 |
constant | meaning |
---|---|
NEWT_ARG_LAST | |
NEWT_ARG_APPEND |
constant | meaning |
---|---|
NEWT_FLAGS_SET | |
NEWT_FLAGS_RESET | |
NEWT_FLAGS_TOGGLE |
constant | meaning |
---|---|
NEWT_FLAG_RETURNEXIT | Exit form, when component is activated |
NEWT_FLAG_HIDDEN | Component is hidden |
NEWT_FLAG_SCROLL | Component is scrollable |
NEWT_FLAG_DISABLED | Component is disabled |
NEWT_FLAG_BORDER | |
NEWT_FLAG_WRAP | Wrap text |
NEWT_FLAG_NOF12 | Don't exit form on pressing F12 |
NEWT_FLAG_MULTIPLE | |
NEWT_FLAG_SELECTED | Component is selected |
NEWT_FLAG_CHECKBOX | Component is checkbox |
NEWT_FLAG_PASSWORD | Entry component is password entry |
NEWT_FLAG_SHOWCURSOR | Show cursor |
constant | meaning |
---|---|
NEWT_FD_READ | |
NEWT_FD_WRITE | |
NEWT_FD_EXCEPT |
constant | meaning |
---|---|
NEWT_CHECKBOXTREE_UNSELECTABLE | |
NEWT_CHECKBOXTREE_HIDE_BOX | |
NEWT_CHECKBOXTREE_COLLAPSED | |
NEWT_CHECKBOXTREE_EXPANDED | |
NEWT_CHECKBOXTREE_UNSELECTED | |
NEWT_CHECKBOXTREE_SELECTED |
constant | meaning |
---|---|
NEWT_ENTRY_SCROLL | |
NEWT_ENTRY_HIDDEN | |
NEWT_ENTRY_RETURNEXIT | |
NEWT_ENTRY_DISABLED |
constant | meaning |
---|---|
NEWT_LISTBOX_RETURNEXIT |
constant | meaning |
---|---|
NEWT_TEXTBOX_WRAP | Wrap text in the textbox |
NEWT_TEXTBOX_SCROLL | Scroll text in the textbox |
constant | meaning |
---|---|
NEWT_FORM_NOF12 | Don't exit form on F12 press |
constant | meaning |
---|---|
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 |
constant | meaning |
---|---|
NEWT_ANCHOR_LEFT | |
NEWT_ANCHOR_RIGHT | |
NEWT_ANCHOR_TOP | |
NEWT_ANCHOR_BOTTOM |
constant | meaning |
---|---|
NEWT_GRID_FLAG_GROWX | |
NEWT_GRID_FLAG_GROWY | |
NEWT_GRID_EMPTY | |
NEWT_GRID_COMPONENT | |
NEWT_GRID_SUBGRID |
This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.
Example#1 Newt Usage Example
<?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);
?>