Forum und email

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

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

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

Drapeaux d'arguement Newt
Constante Signification
NEWT_ARG_LAST  
NEWT_ARG_APPEND  

Sens des Drapeaux Newt

Sens des Drapeaux Newt
Constante Signification
NEWT_FLAGS_SET  
NEWT_FLAGS_RESET  
NEWT_FLAGS_TOGGLE  

Drapeaux des Composants Newt

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

Drapeaux de Descripteur de Fichier
Constante Signification
NEWT_FD_READ  
NEWT_FD_WRITE  
NEWT_FD_EXCEPT  

Drapeaux d'Arbre de Cases à Cocher

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

Dreapeaux d'Entrée
Constante Signification
NEWT_ENTRY_SCROLL  
NEWT_ENTRY_HIDDEN  
NEWT_ENTRY_RETURNEXIT  
NEWT_ENTRY_DISABLED  

Drapeaux de Liste

Drapeaux de Liste
Constante Signification
NEWT_LISTBOX_RETURNEXIT  

Drapeaux de Boîte Texte

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

Drapeaux de Formulaire
Constante Signification
NEWT_FORM_NOF12 Ne sort pas de la forme en appuyant sur F12

Clés Newt

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

Ancres Newt
Constante Signification
NEWT_ANCHOR_LEFT  
NEWT_ANCHOR_RIGHT  
NEWT_ANCHOR_TOP  
NEWT_ANCHOR_BOTTOM  

Drapeaux de Grille

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 (00"Test Mode Setup Utility 1.12");
    
newt_push_help_line (null);
    
newt_draw_root_text (-300"(c) 1999-2002 RedHat, Inc");

    
newt_get_screen_size (&$rows, &$cols);
    
    
newt_open_window ($rows/2-17$cols/2-103417"Choose a Tool");

    
$form newt_form ();

    
$list newt_listbox (3210);
    
    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 (512"Run Tool");
    
$b2 newt_button (2112"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