Manuel PHP
Précédent |  | Suivant

# XCIX. Fonctions Newt

# Introduction

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.

# Pré-requis

Ce module utilise les fonctions de la bibliothèque RedHat Newt. Vous aurez besoin de la version libnewt >= 0.51.0.

# Installation

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

# Types de ressources

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())

# Constantes pré-définies

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.

## Raisons de sortie de Newt

Tableau 1. 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é

## Newt colorsets

Tableau 2. 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` |

## Drapeaux d'argument Newt

Tableau 3. Drapeaux d'arguement Newt

Constante | Signification
--- | ---
`NEWT_ARG_LAST` |
`NEWT_ARG_APPEND` |

## Sens des Drapeaux Newt

Tableau 4. Sens des Drapeaux Newt

Constante | Signification
--- | ---
`NEWT_FLAGS_SET` |
`NEWT_FLAGS_RESET` |
`NEWT_FLAGS_TOGGLE` |

## Drapeaux des Composants Newt

Tableau 5. 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

## Drapeaux de Descripteur de Fichier

Tableau 6. Drapeaux de Descripteur de Fichier

Constante | Signification
--- | ---
`NEWT_FD_READ` |
`NEWT_FD_WRITE` |
`NEWT_FD_EXCEPT` |

## Drapeaux d'Arbre de Cases à Cocher

Tableau 7. 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` |

## Dreapeux d'Entrée

Tableau 8. Dreapeaux d'Entrée

Constante | Signification
--- | ---
`NEWT_ENTRY_SCROLL` |
`NEWT_ENTRY_HIDDEN` |
`NEWT_ENTRY_RETURNEXIT` |
`NEWT_ENTRY_DISABLED` |

## Drapeaux de Liste

Tableau 9. Drapeaux de Liste

Constante | Signification
--- | ---
`NEWT_LISTBOX_RETURNEXIT` |

## Drapeaux de Boîte Texte

Tableau 10. 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

## Drapeaux de Formulaire

Tableau 11. Drapeaux de Formulaire

Constante | Signification
--- | ---
`NEWT_FORM_NOF12` | Ne sort pas de la forme en appuyant sur F12

## Clés Newt

Tableau 12. 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` |

## Ancres Newt

Tableau 13. Ancres Newt

Constante | Signification
--- | ---
`NEWT_ANCHOR_LEFT` |
`NEWT_ANCHOR_RIGHT` |
`NEWT_ANCHOR_TOP` |
`NEWT_ANCHOR_BOTTOM` |

## Drapeaux de Grille

Tableau 14. Drapeaux de Grille

Constante | Signification
--- | ---
`NEWT_GRID_FLAG_GROWX` |
`NEWT_GRID_FLAG_GROWY` |
`NEWT_GRID_EMPTY` |
`NEWT_GRID_COMPONENT` |
`NEWT_GRID_SUBGRID` |

# Exemples

Cet exemple est une utilisation du dialogue 'setup' de RedHat écrit en PHP, exécuté en mode texte.

Exemple 1. 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);
?>`

Précédent | Sommaire | Suivant
syslog | Niveau supérieur | newt_bell