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 : » https://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
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
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
Constante | Signification |
---|---|
NEWT_ARG_LAST | |
NEWT_ARG_APPEND |
Sens des Drapeaux Newt
Constante | Signification |
---|---|
NEWT_FLAGS_SET | |
NEWT_FLAGS_RESET | |
NEWT_FLAGS_TOGGLE |
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
Constante | Signification |
---|---|
NEWT_FD_READ | |
NEWT_FD_WRITE | |
NEWT_FD_EXCEPT |
Drapeaux 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
Constante | Signification |
---|---|
NEWT_ENTRY_SCROLL | |
NEWT_ENTRY_HIDDEN | |
NEWT_ENTRY_RETURNEXIT | |
NEWT_ENTRY_DISABLED |
Drapeaux de Liste
Constante | Signification |
---|---|
NEWT_LISTBOX_RETURNEXIT |
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
Constante | Signification |
---|---|
NEWT_FORM_NOF12 | Ne sort pas de la forme en appuyant sur F12 |
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
Constante | Signification |
---|---|
NEWT_ANCHOR_LEFT | |
NEWT_ANCHOR_RIGHT | |
NEWT_ANCHOR_TOP | |
NEWT_ANCHOR_BOTTOM |
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.
Example#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);
?>
Table of Contents
- newt_bell — Envoie un beep au terminal
- newt_button_bar — Description
- newt_button — Crée un nouveau bouton
- newt_centered_window — Ouvre une fenêtre centrée de la taille spécifiée
- newt_checkbox_get_value — Description
- newt_checkbox_set_flags — Description
- newt_checkbox_set_value — Description
- newt_checkbox_tree_add_item — *
- newt_checkbox_tree_find_item — Description
- newt_checkbox_tree_get_current — Description
- newt_checkbox_tree_get_entry_value — Description
- newt_checkbox_tree_get_multi_selection — Description
- newt_checkbox_tree_get_selection — Description
- newt_checkbox_tree_multi — Description
- newt_checkbox_tree_set_current — Description
- newt_checkbox_tree_set_entry_value — Description
- newt_checkbox_tree_set_entry — Description
- newt_checkbox_tree_set_width — Description
- newt_checkbox_tree — Description
- newt_checkbox — Description
- newt_clear_key_buffer — Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle
- newt_cls — Description
- newt_compact_button — Description
- newt_component_add_callback — Description
- newt_component_takes_focus — Description
- newt_create_grid — Description
- newt_cursor_off — Description
- newt_cursor_on — Description
- newt_delay — Description
- newt_draw_form — Description
- newt_draw_root_text — Affiche la chaîne de caractères à la position indiquée
- newt_entry_get_value — Description
- newt_entry_set_filter — Description
- newt_entry_set_flags — Description
- newt_entry_set — Description
- newt_entry — Description
- newt_finished — Arrête l'interface newt
- newt_form_add_component — Ajoute un seul composant à la forme
- newt_form_add_components — Ajoute plusieurs composants à la forme
- newt_form_add_hot_key — Description
- newt_form_destroy — Détruit une forme
- newt_form_get_current — Description
- newt_form_run — Exécute une forme
- newt_form_set_background — Description
- newt_form_set_height — Description
- newt_form_set_size — Description
- newt_form_set_timer — Description
- newt_form_set_width — Description
- newt_form_watch_fd — Description
- newt_form — Crée une forme
- newt_get_screen_size — Remplit les références passées avec la taille courante du terminal
- newt_grid_add_components_to_form — Description
- newt_grid_basic_window — Description
- newt_grid_free — Description
- newt_grid_get_size — Description
- newt_grid_h_close_stacked — Description
- newt_grid_h_stacked — Description
- newt_grid_place — Description
- newt_grid_set_field — Description
- newt_grid_simple_window — Description
- newt_grid_v_close_stacked — Description
- newt_grid_v_stacked — Description
- newt_grid_wrapped_window_at — Description
- newt_grid_wrapped_window — Description
- newt_init — Initialise newt
- newt_label_set_text — Description
- newt_label — Description
- newt_listbox_append_entry — Description
- newt_listbox_clear_selection — Description
- newt_listbox_clear — Description
- newt_listbox_delete_entry — Description
- newt_listbox_get_current — Description
- newt_listbox_get_selection — Description
- newt_listbox_insert_entry — Description
- newt_listbox_item_count — Description
- newt_listbox_select_item — Description
- newt_listbox_set_current_by_key — Description
- newt_listbox_set_current — Description
- newt_listbox_set_data — Description
- newt_listbox_set_entry — Description
- newt_listbox_set_width — Description
- newt_listbox — Description
- newt_listitem_get_data — Description
- newt_listitem_set — Description
- newt_listitem — Description
- newt_open_window — Ouvre une fenêtre de la taille et la position spécifiée
- newt_pop_help_line — Replace la ligne d'aide courante avec une provenant de la pile
- newt_pop_window — Supprime la fenêtre de premier plan de l'affichage
- newt_push_help_line — Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne
- newt_radio_get_current — Description
- newt_radiobutton — Description
- newt_redraw_help_line — Description
- newt_reflow_text — Description
- newt_refresh — Met à jour les portions modifiées de l'écran
- newt_resize_screen — Description
- newt_resume — Récupère l'interface de newt après l'appel de newt_suspend
- newt_run_form — Exécute une forme
- newt_scale_set — Description
- newt_scale — Description
- newt_scrollbar_set — Description
- newt_set_help_callback — Description
- newt_set_suspend_callback — Fixe une fonction de rappel qui sera appelée lorsque l'utilisateur appuiera sur la touche de suspension
- newt_suspend — Indique à newt de retourner à l'état initial du terminal
- newt_textbox_get_num_lines — Description
- newt_textbox_reflowed — Description
- newt_textbox_set_height — Description
- newt_textbox_set_text — Description
- newt_textbox — Description
- newt_vertical_scrollbar — Description
- newt_wait_for_key — Ne continue pas tant qu'une touche n'est pas appuyée
- newt_win_choice — Description
- newt_win_entries — Description
- newt_win_menu — Description
- newt_win_message — Description
- newt_win_messagev — Description
- newt_win_ternary — Description