Lines Matching +full:panel +full:- +full:specific

5      by Eric S. Raymond and Zeyd M. Ben-Halim
31 o Low-Level Capability Access
71 + Variable-Sized Fields
84 o Inter-Field Navigation Requests
85 o Intra-Field Navigation Requests
117 The curses package is a subroutine library for terminal-independent
118 screen-painting and input-event handling which presents a high level
128 the advantage of (a) back-portability to character-cell terminals, and
129 (b) simplicity. For an application that does not require bit-mapped
137 provide screen-handling for the vi editor; these used the termcap
153 source-code or documentation; the tic and infocmp programs are the
157 rewritten and much-improved curses library, along with the tic program
174 handle one "standout" highlight, usually reverse-video).
175 * Support for line- and box-drawing using forms characters.
193 maintainer of this package is Zeyd Ben-Halim <zmbenhal@netcom.com>.
198 Contact the current maintainers at bug-ncurses@gnu.org.
209 construction and sequences of menus and fill-in forms.
217 A data structure describing a sub-rectangle of the screen
246 includes, too. In linking with curses you need to have -lncurses in
290 routine waddch() (for window-specific addch()) is provided. This
292 applied to specific windows is consistent. The only routines which do
323 ------------------------------------------------------------------
340 error flag returned by routines on a failure (-1).
364 /* initialize your non-curses data structures here */
370 (void) nonl(); /* tell curses not to do NL->CR/NL on output */
372 (void) echo(); /* echo input - in color */
409 /* do your non-curses wrapup here */
479 When you need to accept line-oriented input in a window, the functions
481 that can do scanf()(3)-style multi-field parsing on window input.
482 These pseudo-line-oriented functions turn on echoing while they
486 support for function-key mapping. With this feature, the getch() code
489 pseudo-character values. The #define values returned are listed in the
496 can accept some pseudo-character arguments which are specially defined
500 The most useful of the ACS defines are the forms-drawing characters.
508 reverse-video, underline, and blink. It also supports color, which is
512 pseudo-character type (chtype) that curses.h uses to represent the
516 There are two ways to make highlights. One is to logical-or the value
520 The other is to set the current-highlight value. This is logical-ORed
526 all of the guaranteed-available colors on black. Note that each color
528 range of eight non-conflicting values could have been used as the
531 Once you have done an init_pair() that creates color-pair N, you can
534 compile-time constant and can be used in initializers.
540 NOTE: this facility is specific to ncurses, it is not part of
546 mouse-related code in an #ifdef using the feature macro
548 non-ncurses systems.
558 function mousemask(), passing it as first argument a bit-mask that
560 see. It will return the bit-mask of events that actually become
573 zero-origin, screen-relative character-cell coordinates of the mouse
580 for a z coordinate; this might be useful with touch-screens that can
587 single-, double- and triple-clicks (you can set the maximum
588 button-down time for clicks). If you do not make clicks visible, they
589 will be reported as press-release pairs. In some environments, the
600 shortcut for point-and-shoot commands your application would normally
606 mouse-interface functions.
612 was first called, and moves the cursor down to the lower-left corner.
637 reset the terminal into the proper non-visual mode. Calling
694 Low-Level Capability Access
699 tty-driver mode bits. term is the character string representing
704 such terminal), or -1 (some problem locating the terminfo
733 levels enable more detailed (and verbose) reporting -- see
741 -lncurses_g. It can be used the same way as printf(), only it
749 single-line pseudo-operations. These pseudo-ops can be distinguished
784 does a pretty good job of strengthening the overlapping-windows
796 mode. A common reason for this is to support shell-out. This behavior
801 cooked mode; you can do your shell-out. When you want to return to
837 it cannot know how you want the screen re-painted. You will usually
838 have to write special-purpose code to handle KEY_RESIZE yourself.
861 (cursor-addressable) or "stupid". The right way to test this is to see
862 if the return value of tigetstr("cup") is non-NULL. Alternatively, you
868 Use the addchstr() family of functions for fast screen-painting of
879 The define_key() function allows you to define at runtime function-key
882 interpretation of any function-key control sequence.
912 very specific, and subtle differences in how copying works can produce
917 does with its argument -- what portions of the argument window it
938 entire-copy, but it is possible with some effort and straining to read
944 call to guarantee an entire-contents copy anywhere.
948 the necessary wnoutrefresh() calls for whatever panel stacking order
969 The ncurses library is intended to be base-level conformant with the
970 XSI Curses standard from X/Open. Many extended-level features (in
975 under "Background Erase -- Compatibility with Old Versions".
979 prototype-checked) if the macro definition is disabled with #undef.
984 displays in which the windows are tiled (non-overlapping). In the more
987 the order you do the window refreshes in. It has to be bottom-upwards,
992 book-keeping can be tedious and difficult to get right. Hence the
995 The panel library first appeared in AT&T System V. The version
996 documented here is the panel code distributed with ncurses.
1000 Your panels-using modules must import the panels library declarations
1002 #include <panel.h>
1004 and must be linked explicitly with the panels library using an -lpanel
1006 -lncurses. Many linkers are two-pass and will accept either order, but
1007 it is still good practice to put -lpanel first and -lncurses second.
1011 A panel object is a window that is implicitly treated as part of a
1012 deck including all other panel objects. The deck has an implicit
1013 bottom-to-top visibility order. The panels library includes an update
1021 You create a panel from a window by calling new_panel() on a window
1022 pointer. It then becomes the top of the deck. The panel's window is
1023 available as the value of panel_window() called with the panel pointer
1026 You can delete a panel (removing it from the deck) with del_panel.
1028 yourself. You can replace a panel's window with a different window by
1030 panel code will re-compute all overlaps. This operation does not
1031 change the panel's position in the deck.
1033 To move a panel's window, use move_panel(). The mvwin() function on
1034 the panel's window is not sufficient because it does not update the
1036 operation leaves the panel's depth, contents, and size unchanged.
1041 the panel's screen location, contents, and size unchanged.
1048 the user. If you call update_panels() after each and every panel
1056 panel or unobscured by any other panels.
1064 requesting input from a panel window, you need to be sure that the
1065 panel is totally unobscured.
1067 There is presently no way to display changes to one obscured panel
1072 It is possible to remove a panel from the deck temporarily; use
1074 predicate function panel_hidden tests whether or not a panel is
1078 or bottom_panel on a hidden panel(). Other panels operations are
1084 and panel_below. Handed a panel pointer, they return the panel above
1085 or below that panel. Handed NULL, they return the bottom-most or
1086 top-most panel.
1088 Every panel has an associated user pointer, not used by the panel
1104 Your menu-using modules must import the menu library declarations with
1107 and must be linked explicitly with the menus library using an -lmenu
1109 -lncurses. Many linkers are two-pass and will accept either order, but
1110 it is still good practice to put -lmenu first and -lncurses second.
1128 re-use.
1144 Menus may be multi-valued or (the default) single-valued (see the
1148 From a single-valued menu you can read the selected value simply by
1149 looking at the current item. From a multi-valued menu, you get the
1151 predicate function. Your menu-processing code can use the function
1177 (on by default) causes menu items to be displayed in a "raster-scan"
1179 couple of items are side-by-side in the top row. The alternative is
1180 column-major display, which tries to put the first several items in
1184 to fit on-screen will result in a menu display that is vertically
1224 The main loop of your menu-processing code should call menu_driver()
1226 second is a menu command code. You should write an input-fetching
1243 use in multi-valued menus; if you use it with O_ONEVALUE on, you will
1256 multi-valued menu.
1263 considered application-specific commands. The menu_driver() code
1288 of on-screen forms for data entry and program control.
1295 Your form-using modules must import the form library declarations with
1298 and must be linked explicitly with the forms library using an -lform
1300 -lncurses. Many linkers are two-pass and will accept either order, but
1301 it is still good practice to put -lform first and -lncurses second.
1306 (explanatory text) or a data-entry location. Long forms may be
1323 and value. The form library supplies a rich set of pre-defined field
1328 associated with it and its items available for re-use.
1348 more complicated than for menus. Besides menu-like navigation
1371 The fifth argument allows you to specify a number of off-screen rows.
1373 nonzero, the form will be scrollable, with only one screen-full
1407 As you might guess, all these field-allocations return NULL if the
1408 field allocation is not possible due to an out-of-memory error or
1409 out-of-bounds arguments.
1414 This function expects to see a NULL-terminated array of field
1415 pointers. Said fields are connected to a newly-allocated form object;
1425 to a form, but not vice-versa; thus, you will generally free your form
1439 attribute-setting and -fetching functions, the argument NULL is taken
1460 int top, int left); /* new upper-left corner */
1466 One-line fields may be unjustified, justified right, justified left,
1551 REQ_NEXT_CHOICE will fail. Such read-only fields may be useful
1555 Controls word-wrapping in multi-line fields. Normally, when any
1556 character of a (blank-separated) word reaches the end of the
1564 (except for the just-entered character).
1595 The option values are bit-masks and can be composed with logical-or in
1625 to store private per-field data. You can manipulate it with:
1636 field is created, the default-field user pointer is copied to
1639 Variable-Sized Fields
1647 A one-line dynamic field will have a fixed height (1) but variable
1649 originally dimensioned and located. A multi-line dynamic field will
1660 If the field is one-line, max_size is taken to be a column size limit;
1661 if it is multi-line, it is taken to be a line size limit. To disable
1670 * The dup_field() and link_field() calls copy dynamic-buffer sizes.
1684 validation types also have a character-validity check for each time a
1691 The form library provides a rich set of pre-defined validation types,
1704 validation of newly-created fields.
1706 Here are the pre-defined validation types:
1711 special characters (this is checked at character-entry time). It is
1725 special characters (this is checked at character-entry time). It is
1739 specified set of string values (for example, the two-letter postal
1744 int checkcase; /* case-sensitive? */
1747 The valuelist parameter must point at a NULL-terminated list of valid
1749 string case-sensitive.
1770 int padding, /* # places to zero-pad to */
1812 for regular-expression match is performed on exit.
1822 Normally, the state of the zero-numbered buffer for each field is set
1824 be able to set the value of the zero-numbered (or some other) buffer
1840 buffer value reflects on-screen reality, call field_buffer() either
1849 of these functions using a form-pointer argument of NULL.
1860 The second argument of set_form_fields() may be a NULL-terminated
1870 connected to a given from. It returns -1 if the form-pointer argument
1880 library associates every form with the full-screen window stdscr.
1929 one-line and has undisplayed data off to the right, (b) the current
1930 field is multi-line and there is data off-screen below it.
1933 character position is off-screen (not being displayed).
1941 re-synchronize it.
1953 data to be entered in the currently-selected field), or a forms
1956 The forms driver provides hooks (through input-validation and
1957 field-termination functions) with which your application code can
1962 These requests cause page-level moves through the form, triggering
1981 Inter-Field Navigation Requests
2029 in screen-position order, so the sequence goes left-to-right and
2030 top-to-bottom. To do this, use the second group of four
2031 sorted-movement requests.
2036 of these requests is its upper-left corner.
2038 For example, suppose you have a multi-line field B, and two
2039 single-line fields A and C on the same line with B, with A to the left
2044 Intra-Field Navigation Requests
2093 look for the first or last non-pad character in their ranges.
2098 with offscreen rows are scrollable. One-line fields scroll
2099 horizontally; multi-line fields scroll vertically. Most scrolling is
2100 triggered by editing and intra-field movement (the library scrolls the
2240 Of the built-in field types, only TYPE_ENUM has built-in successor and
2249 MAX_COMMAND. If your input-virtualization routine returns a value
2338 int page); /* page to go to (0-origin) */
2342 The initial page of a newly-created form is 0. The function
2373 The option values are bit-masks and can be composed with logical-or in
2381 Most of the complications in the validation-type interface have to do
2394 predefined or programmer-defined). If a set_field_type() call later
2406 * A character-validation function, to check each character as it is
2408 * A field-validation function to be applied on exit from the field.
2418 At least one of the arguments of new_fieldtype() must be non-NULL. The
2437 Your field- and character- validation functions will be passed a
2440 field-type-specific arguments passed to set_field_type(). If no such
2445 functions, you must associate a small set of storage-management
2459 Here is how the storage-management hooks are used:
2463 argument, a va_list of the type-specific arguments passed to
2474 This function is called by field- and type-deallocation
2486 Some custom field types are simply ordered in the same well-defined
2509 the pre-defined types seems to be closest to what you want.