Compzone.Org :: Podręcznik PHP :: Newt Functions
Pytania w drugiej edycji Testu PHP powinny być:
Trudniejsze
Łatwiejsze
Skomplikowane
Na myślenie
Do liczenia
Sonda Wyniki

Add to Google

XCVI. Newt Functions

Wstęp

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.

Wymagania

This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.

Instalacja

To rozszerzenie PECL nie jest dołączane do PHP. Dodatkowe informacje, takie jak nowe wersje, pliki do pobrania, pliki źródłowe, informacje o opiekunach czy rejestr zmian, można znaleźć tutaj: http://pecl.php.net/package/newt.

W PHP 4 to rozszerzenie PECL można znaleźć w podkatalogu ext/ źródeł PHP lub pod znajdującym się wyżej odnośnikiem 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.

Notatka: 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

Typy zasobów

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

Stałe predefinopwane

Poniższe stałe są zdefiniowane w tym rozszerzeniu i stają się dostępne, gdy rozszerzenie jest dokompilowane do PHP, lub załadowane dynamicznie przy starcie.

Newt form exit reasons

Tabela 1. Newt form exit reasons

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

Newt colorsets

Tabela 2. Newt colorsets

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  

Newt argument flags

Tabela 3. Newt argument flags

constant meaning
NEWT_ARG_LAST  
NEWT_ARG_APPEND  

Newt Flags Sense

Tabela 4. Newt Flags Sense

constant meaning
NEWT_FLAGS_SET  
NEWT_FLAGS_RESET  
NEWT_FLAGS_TOGGLE  

Newt Components Flags

Tabela 5. Newt Components Flags

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

File Descriptor Flags

Tabela 6. File Descriptor Flags

constant meaning
NEWT_FD_READ  
NEWT_FD_WRITE  
NEWT_FD_EXCEPT  

Checkbox Tree Flags

Tabela 7. Checkbox Tree Flags

constant meaning
NEWT_CHECKBOXTREE_UNSELECTABLE  
NEWT_CHECKBOXTREE_HIDE_BOX  
NEWT_CHECKBOXTREE_COLLAPSED  
NEWT_CHECKBOXTREE_EXPANDED  
NEWT_CHECKBOXTREE_UNSELECTED  
NEWT_CHECKBOXTREE_SELECTED  

Entry Flags

Tabela 8. Entry Flags

constant meaning
NEWT_ENTRY_SCROLL  
NEWT_ENTRY_HIDDEN  
NEWT_ENTRY_RETURNEXIT  
NEWT_ENTRY_DISABLED  

Listbox Flags

Tabela 9. Listbox Flags

constant meaning
NEWT_LISTBOX_RETURNEXIT  

Textbox Flags

Tabela 10. Textbox Flags

constant meaning
NEWT_TEXTBOX_WRAP Wrap text in the textbox
NEWT_TEXTBOX_SCROLL Scroll text in the textbox

Form Flags

Tabela 11. Form Flags

constant meaning
NEWT_FORM_NOF12 Don't exit form on F12 press

Newt Keys

Tabela 12. Newt Keys

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  

Newt Anchors

Tabela 13. Newt Anchors

constant meaning
NEWT_ANCHOR_LEFT  
NEWT_ANCHOR_RIGHT  
NEWT_ANCHOR_TOP  
NEWT_ANCHOR_BOTTOM  

Grid Flags

Tabela 14. Grid Flags

constant meaning
NEWT_GRID_FLAG_GROWX  
NEWT_GRID_FLAG_GROWY  
NEWT_GRID_EMPTY  
NEWT_GRID_COMPONENT  
NEWT_GRID_SUBGRID  

Przykłady

This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.

Przykład 1. Newt Usage Example

<?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);
?>
Spis treści
newt_bell -- Send a beep to the terminal
newt_button_bar -- 
newt_button -- 
newt_centered_window -- Open a centered window of the specified size
newt_checkbox_get_value -- 
newt_checkbox_set_flags -- 
newt_checkbox_set_value -- 
newt_checkbox_tree_add_item -- *
newt_checkbox_tree_find_item -- 
newt_checkbox_tree_get_current -- 
newt_checkbox_tree_get_entry_value -- 
newt_checkbox_tree_get_multi_selection -- 
newt_checkbox_tree_get_selection -- 
newt_checkbox_tree_multi -- 
newt_checkbox_tree_set_current -- 
newt_checkbox_tree_set_entry_value -- 
newt_checkbox_tree_set_entry -- 
newt_checkbox_tree_set_width -- 
newt_checkbox_tree -- 
newt_checkbox -- 
newt_clear_key_buffer -- Discards the contents of the terminal's input buffer without waiting for additional input
newt_cls -- 
newt_compact_button -- 
newt_component_add_callback -- 
newt_component_takes_focus -- 
newt_create_grid -- 
newt_cursor_off -- 
newt_cursor_on -- 
newt_delay -- 
newt_draw_form -- 
newt_draw_root_text -- Displays the string text at the position indicated
newt_entry_get_value -- 
newt_entry_set_filter -- 
newt_entry_set_flags -- 
newt_entry_set -- 
newt_entry -- 
newt_finished -- Uninitializes newt interface
newt_form_add_component -- Adds a single component to the form
newt_form_add_components -- Add several components to the form
newt_form_add_host_key -- 
newt_form_destroy -- Destroys a form
newt_form_get_current -- 
newt_form_run -- Runs a form
newt_form_set_background -- 
newt_form_set_height -- 
newt_form_set_size -- 
newt_form_set_timer -- 
newt_form_set_width -- 
newt_form_watch_fd -- 
newt_form -- Create a form
newt_get_screen_size -- Fills in the passed references with the current size of the terminal
newt_grid_add_components_to_form -- 
newt_grid_basic_window -- 
newt_grid_free -- 
newt_grid_get_size -- 
newt_grid_h_close_stacked -- 
newt_grid_h_stacked -- 
newt_grid_place -- 
newt_grid_set_field -- 
newt_grid_simple_window -- 
newt_grid_v_close_stacked -- 
newt_grid_v_stacked -- 
newt_grid_wrapped_window_at -- 
newt_grid_wrapped_window -- 
newt_init -- Initialize newt
newt_label_set_text -- 
newt_label -- 
newt_listbox_append_entry -- 
newt_listbox_clear_selection -- 
newt_listbox_clear -- 
newt_listbox_delete_entry -- 
newt_listbox_get_current -- 
newt_listbox_get_selection -- 
newt_listbox_insert_entry -- 
newt_listbox_item_count -- 
newt_listbox_select_item -- 
newt_listbox_set_current_by_key -- 
newt_listbox_set_current -- 
newt_listbox_set_data -- 
newt_listbox_set_entry -- 
newt_listbox_set_width -- 
newt_listbox -- 
newt_listitem_get_data -- 
newt_listitem_set -- 
newt_listitem -- 
newt_open_window -- Open a window of the specified size and position
newt_pop_help_line -- Replaces the current help line with the one from the stack
newt_pop_window -- Removes the top window from the display
newt_push_help_line -- Saves the current help line on a stack, and displays the new line
newt_radio_get_current -- 
newt_radiobutton -- 
newt_redraw_help_line -- 
newt_reflow_text -- 
newt_refresh -- Updates modified portions of the screen
newt_resize_screen -- 
newt_resume -- Resume using the newt interface after calling newt_suspend()
newt_run_form -- Runs a form
newt_scale_set -- 
newt_scale -- 
newt_scrollbar_set -- 
newt_set_help_callback -- 
newt_set_suspend_callback -- Set a callback function which gets invoked when user presses the suspend key
newt_suspend -- Tells newt to return the terminal to its initial state
newt_textbox_get_num_lines -- 
newt_textbox_reflowed -- 
newt_textbox_set_height -- 
newt_textbox_set_text -- 
newt_textbox -- 
newt_vertical_scrollbar -- 
newt_wait_for_key -- Doesn't return until a key has been pressed
newt_win_choice -- 
newt_win_entries -- 
newt_win_menu -- 
newt_win_message -- 
newt_win_messagev -- 
newt_win_ternary -- 
Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!