Il s'agit d'une extension du langage PHP pour la bibliothèque RedHat Newt, une fenêtre basé sur un terminal et sur une bibliothèque de widget pour écrire des applications avec des interfaces conviviaux. Une fois que cette extension est activé dans PHP, vous aurez la possibilité d'utiliser des widgets, comme des fenêtres, des boutons, des boîtes à cocher, des boîtes radio, des labels, des boîtes texte, des barres de défilement, de grandes boîtes texte, des règles, etc. L'utilisation de cette extension est vraiment similaire à l'API original Newt du langage de programmation C.
Ce module utilise les fonctions de la bibliothèque RedHat Newt. Vous aurez besoin de la version libnewt >= 0.51.0.
Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/newt.
En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Afin d'utiliser ces fonctions, vous devez compiler le support newt en CGI ou en CLI PHP en utilisant l'option de configure --with-newt[=DIR].
Note: Cette extension n'est pas disponible pour la plate-forme Windows.
Vous aurez aussi besoin des bibliothèques curses et slang afin de compiler cette extension. Pour spécifier des emplacements de ces bibliothèques, utilisez les options de configuration suivante : --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang
Cette extension utilise deux types de ressources : "composant newt" et "grille newt". Le type de ressource "composant newt" est retourné par les fonctions, qui créent les widgets communs newt (par exemple : newt_button()) Le type de ressource "grille newt" est un lien spécial pour les identifiants des composants, retourné par la classe d'objet de grille de newt (par exemple : newt_create_grid())
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Tableau 207. Raisons de sortie de Newt
Constante | Signification |
---|---|
NEWT_EXIT_HOTKEY | touche rapide définie par newt_form_add_hot_key() a été appuyée |
NEWT_EXIT_COMPONENT | certains composants ont demandé la sortie de la forme |
NEWT_EXIT_FDREADY | le descripteur de fichier spécifié dans newt_form_watch_fd() est prêt à être lu ou écrit |
NEWT_EXIT_TIMER | le temps spécifié dans newt_form_set_timer() s'est écoulé |
Tableau 208. Newt colorsets
Constante | Signification |
---|---|
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 |
Tableau 210. Sens des Drapeaux Newt
Constante | Signification |
---|---|
NEWT_FLAGS_SET | |
NEWT_FLAGS_RESET | |
NEWT_FLAGS_TOGGLE |
Tableau 211. Drapeaux des Composants Newt
Constante | Signification |
---|---|
NEWT_FLAG_RETURNEXIT | Sort de la forme, lorsque le composant est activé |
NEWT_FLAG_HIDDEN | Le composant est caché |
NEWT_FLAG_SCROLL | Le composant est flottant |
NEWT_FLAG_DISABLED | Le composant est désactivé |
NEWT_FLAG_BORDER | |
NEWT_FLAG_WRAP | Enveloppe le texte |
NEWT_FLAG_NOF12 | Ne sort pas de la forme en appuyant sur F12 |
NEWT_FLAG_MULTIPLE | |
NEWT_FLAG_SELECTED | Le composant est sélectionné |
NEWT_FLAG_CHECKBOX | Le composant est une case à cocher |
NEWT_FLAG_PASSWORD | Le composant est une boîte de mot de passe |
NEWT_FLAG_SHOWCURSOR | Montre le curseur |
Tableau 212. Drapeaux de Descripteur de Fichier
Constante | Signification |
---|---|
NEWT_FD_READ | |
NEWT_FD_WRITE | |
NEWT_FD_EXCEPT |
Tableau 213. Dreapeaux d'Arbre de Cases à Cocher
Constante | Signification |
---|---|
NEWT_CHECKBOXTREE_UNSELECTABLE | |
NEWT_CHECKBOXTREE_HIDE_BOX | |
NEWT_CHECKBOXTREE_COLLAPSED | |
NEWT_CHECKBOXTREE_EXPANDED | |
NEWT_CHECKBOXTREE_UNSELECTED | |
NEWT_CHECKBOXTREE_SELECTED |
Tableau 214. Dreapeaux d'Entrée
Constante | Signification |
---|---|
NEWT_ENTRY_SCROLL | |
NEWT_ENTRY_HIDDEN | |
NEWT_ENTRY_RETURNEXIT | |
NEWT_ENTRY_DISABLED |
Tableau 216. Drapeaux de Boîte Texte
Constante | Signification |
---|---|
NEWT_TEXTBOX_WRAP | Enveloppe le texte dans la boîte texte |
NEWT_TEXTBOX_SCROLL | Défile le texte dans la boîte texte |
Tableau 217. Drapeaux de Formulaire
Constante | Signification |
---|---|
NEWT_FORM_NOF12 | Ne sort pas de la forme en appuyant sur F12 |
Tableau 218. Clés Newt
Constante | Signification |
---|---|
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 |
Tableau 219. Ancres Newt
Constante | Signification |
---|---|
NEWT_ANCHOR_LEFT | |
NEWT_ANCHOR_RIGHT | |
NEWT_ANCHOR_TOP | |
NEWT_ANCHOR_BOTTOM |
Tableau 220. Drapeaux de Grille
Constante | Signification |
---|---|
NEWT_GRID_FLAG_GROWX | |
NEWT_GRID_FLAG_GROWY | |
NEWT_GRID_EMPTY | |
NEWT_GRID_COMPONENT | |
NEWT_GRID_SUBGRID |
Cet exemple est une utilisation du dialogue 'setup' de RedHat écrit en PHP, exécuté en mode texte.
Exemple 1771. Exemple d'Utilisation 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);
?>