123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- '\" t
- .\"***************************************************************************
- .\" Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
- .\" *
- .\" Permission is hereby granted, free of charge, to any person obtaining a *
- .\" copy of this software and associated documentation files (the *
- .\" "Software"), to deal in the Software without restriction, including *
- .\" without limitation the rights to use, copy, modify, merge, publish, *
- .\" distribute, distribute with modifications, sublicense, and/or sell *
- .\" copies of the Software, and to permit persons to whom the Software is *
- .\" furnished to do so, subject to the following conditions: *
- .\" *
- .\" The above copyright notice and this permission notice shall be included *
- .\" in all copies or substantial portions of the Software. *
- .\" *
- .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- .\" *
- .\" Except as contained in this notice, the name(s) of the above copyright *
- .\" holders shall not be used in advertising or otherwise to promote the *
- .\" sale, use or other dealings in this Software without prior written *
- .\" authorization. *
- .\"***************************************************************************
- .\"
- .\" $Id: form.3x,v 1.22 2008/10/11 20:48:11 tom Exp $
- .TH form 3X ""
- .SH NAME
- \fBform\fR - curses extension for programming forms
- .SH SYNOPSIS
- \fB#include <form.h>\fR
- .br
- .SH DESCRIPTION
- The \fBform\fR library provides terminal-independent facilities for composing
- form screens on character-cell terminals. The library includes: field
- routines, which create and modify form fields; and form routines, which group
- fields into forms, display forms on the screen, and handle interaction with the
- user.
- .PP
- The \fBform\fR library uses the \fBcurses\fR libraries.
- To use the \fBform\fR library, link with the options
- \fB-lform -lcurses\fR.
- .PP
- Your program should set up the locale, e.g.,
- .sp
- \fBsetlocale(LC_ALL, "");\fP
- .sp
- so that input/output processing will work.
- .PP
- A curses initialization routine such as \fBinitscr\fR must be called
- before using any of these functions.
- .
- .SS Current Default Values for Field Attributes
- .
- The \fBform\fR library maintains a default value for field attributes. You
- can get or set this default by calling the appropriate \fBset_\fR
- or retrieval
- routine with a \fBNULL\fR field pointer. Changing this default with a
- \fBset_\fR function affects future field creations, but does not change the
- rendering of fields already created.
- .
- .SS Routine Name Index
- .
- The following table lists each \fBform\fR routine and the name of
- the manual page on which it is described.
- .
- .TS
- l l
- l l .
- \fBcurses\fR Routine Name Manual Page Name
- =
- current_field \fBform_page\fR(3X)
- data_ahead \fBform_data\fR(3X)
- data_behind \fBform_data\fR(3X)
- dup_field \fBform_field_new\fR(3X)
- dynamic_field_info \fBform_field_info\fR(3X)
- field_arg \fBform_field_validation\fR(3X)
- field_back \fBform_field_attributes\fR(3X)
- field_buffer \fBform_field_buffer\fR(3X)
- field_count \fBform_field\fR(3X)
- field_fore \fBform_field_attributes\fR(3X)
- field_index \fBform_page\fR(3X)
- field_info \fBform_field_info\fR(3X)
- field_init \fBform_hook\fR(3X)
- field_just \fBform_field_just\fR(3X)
- field_opts \fBform_field_opts\fR(3X)
- field_opts_off \fBform_field_opts\fR(3X)
- field_opts_on \fBform_field_opts\fR(3X)
- field_pad \fBform_field_attributes\fR(3X)
- field_status \fBform_field_buffer\fR(3X)
- field_term \fBform_hook\fR(3X)
- field_type \fBform_field_validation\fR(3X)
- field_userptr \fBform_field_userptr\fR(3X)
- form_driver \fBform_driver\fR(3X)
- form_fields \fBform_field\fR(3X)
- form_init \fBform_hook\fR(3X)
- form_opts \fBform_opts\fR(3X)
- form_opts_off \fBform_opts\fR(3X)
- form_opts_on \fBform_opts\fR(3X)
- form_page \fBform_page\fR(3X)
- form_request_by_name \fBform_requestname\fR(3X)
- form_request_name \fBform_requestname\fR(3X)
- form_sub \fBform_win\fR(3X)
- form_term \fBform_hook\fR(3X)
- form_userptr \fBform_userptr\fR(3X)
- form_win \fBform_win\fR(3X)
- free_field \fBform_field_new\fR(3X)
- free_fieldtype \fBform_fieldtype\fR(3X)
- free_form \fBform_new\fR(3X)
- link_field \fBform_field_new\fR(3X)
- link_fieldtype \fBform_fieldtype\fR(3X)
- move_field \fBform_field\fR(3X)
- new_field \fBform_field_new\fR(3X)
- new_fieldtype \fBform_fieldtype\fR(3X)
- new_form \fBform_new\fR(3X)
- new_page \fBform_new_page\fR(3X)
- pos_form_cursor \fBform_cursor\fR(3X)
- post_form \fBform_post\fR(3X)
- scale_form \fBform_win\fR(3X)
- set_current_field \fBform_page\fR(3X)
- set_field_back \fBform_field_attributes\fR(3X)
- set_field_buffer \fBform_field_buffer\fR(3X)
- set_field_fore \fBform_field_attributes\fR(3X)
- set_field_init \fBform_hook\fR(3X)
- set_field_just \fBform_field_just\fR(3X)
- set_field_opts \fBform_field_opts\fR(3X)
- set_field_pad \fBform_field_attributes\fR(3X)
- set_field_status \fBform_field_buffer\fR(3X)
- set_field_term \fBform_hook\fR(3X)
- set_field_type \fBform_field_validation\fR(3X)
- set_field_userptr \fBform_field_userptr\fR(3X)
- set_fieldtype_arg \fBform_fieldtype\fR(3X)
- set_fieldtype_choice \fBform_fieldtype\fR(3X)
- set_form_fields \fBform_field\fR(3X)
- set_form_init \fBform_hook\fR(3X)
- set_form_opts \fBform_field_opts\fR(3X)
- set_form_page \fBform_page\fR(3X)
- set_form_sub \fBform_win\fR(3X)
- set_form_term \fBform_hook\fR(3X)
- set_form_userptr \fBform_userptr\fR(3X)
- set_form_win \fBform_win\fR(3X)
- set_max_field \fBform_field_buffer\fR(3X)
- set_new_page \fBform_new_page\fR(3X)
- unpost_form \fBform_post\fR(3X)
- .TE
- .SH RETURN VALUE
- Routines that return pointers return \fBNULL\fR on error,
- and set errno to the corresponding error-code returned by functions
- returning an integer.
- Routines that return
- an integer return one of the following error codes:
- .TP 5
- .B E_OK
- The routine succeeded.
- .TP 5
- .B E_BAD_ARGUMENT
- Routine detected an incorrect or out-of-range argument.
- .TP 5
- .B E_BAD_STATE
- Routine was called from an initialization or termination function.
- .TP 5
- .B E_CONNECTED
- The field is already connected to a form.
- .TP 5
- .B E_INVALID_FIELD
- Contents of a field are not valid.
- .TP 5
- .B E_NOT_CONNECTED
- No fields are connected to the form.
- .TP 5
- .B E_NOT_POSTED
- The form has not been posted.
- .TP 5
- .B E_NO_ROOM
- Form is too large for its window.
- .TP 5
- .B E_POSTED
- The form is already posted.
- .TP 5
- .B E_REQUEST_DENIED
- The form driver could not process the request.
- .TP 5
- .B E_SYSTEM_ERROR
- System error occurred (see \fBerrno\fR).
- .TP 5
- .B E_UNKNOWN_COMMAND
- The form driver code saw an unknown request code.
- .SH SEE ALSO
- \fBcurses\fR(3X) and related pages whose names begin "form_" for detailed
- descriptions of the entry points.
- .SH NOTES
- The header file \fB<form.h>\fR automatically includes the header files
- \fB<curses.h>\fR and \fB<eti.h>\fR.
- .PP
- In your library list, libform.a should be before libncurses.a; that is,
- you want to say `-lform -lncurses', not the other way around (which would
- give you a link error using most linkers).
- .SH PORTABILITY
- These routines emulate the System V forms library. They were not supported on
- Version 7 or BSD versions.
- .SH AUTHORS
- Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric
- S. Raymond.
- .SH SEE ALSO
- This describes \fBncurses\fR
- version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
- .\"#
- .\"# The following sets edit modes for GNU EMACS
- .\"# Local Variables:
- .\"# mode:nroff
- .\"# fill-column:79
- .\"# End:
|