ncurses 5.1
[ncurses.git] / doc / html / man / form.3x.html
1 <HTML>
2 <BODY>
3 <PRE>
4 <!-- Manpage converted by man2html 3.0.1 -->
5
6 </PRE>
7 <H2>NAME</H2><PRE>
8        <B>form</B> - curses extension for programming forms
9
10
11 </PRE>
12 <H2>SYNOPSIS</H2><PRE>
13        <B>#include</B> <B>&lt;form.h&gt;</B>
14
15
16 </PRE>
17 <H2>DESCRIPTION</H2><PRE>
18        The  <B>form</B> library provides terminal-independent facilities
19        for composing form screens  on  character-cell  terminals.
20        The  library  includes:  field  routines, which create and
21        modify form fields; and form routines, which group  fields
22        into forms, display forms on the screen, and handle inter-
23        action with the user.
24
25        The <B>form</B> library uses the <B>curses</B> libraries, and  a  curses
26        initialization  routine  such  as  <B>initscr</B>  must be called
27        before using any of these  functions.   To  use  the  <B>form</B>
28        library, link with the options <B>-lform</B> <B>-lcurses</B>.
29
30
31    <B>Current</B> <B>Default</B> <B>Values</B> <B>for</B> <B>Field</B> <B>Attributes</B>
32        The  <B>form</B>  library  maintains  a  default  value for field
33        attributes.  You can get or set this  default  by  calling
34        the  appropriate  <B>set_</B>  or  retrieval  routine with a <B>NULL</B>
35        field pointer.  Changing this default with a <B>set_</B> function
36        affects  future  field  creations, but does not change the
37        rendering of fields already created.
38
39
40    <B>Routine</B> <B>Name</B> <B>Index</B>
41        The following table lists each <B>form</B> routine and  the  name
42        of the manual page on which it is described.
43
44        <B>curses</B> Routine Name    Manual Page Name
45        -------------------------------------------------
46        current_field          <B><A HREF="form_page.3x.html">form_page(3x)</A></B>
47        data_ahead             <B><A HREF="form_data.3x.html">form_data(3x)</A></B>
48        data_behind            <B><A HREF="form_data.3x.html">form_data(3x)</A></B>
49        dup_field              <B><A HREF="form_field_new.3x.html">form_field_new(3x)</A></B>
50        dynamic_fieldinfo      <B><A HREF="form_field_info.3x.html">form_field_info(3x)</A></B>
51        field_arg              <B><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></B>
52        field_back             <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
53        field_buffer           <B><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></B>
54        field_count            <B><A HREF="form_field.3x.html">form_field(3x)</A></B>
55        field_fore             <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
56        field_index            <B><A HREF="form_page.3x.html">form_page(3x)</A></B>
57        field_info             <B><A HREF="form_field_info.3x.html">form_field_info(3x)</A></B>
58        field_init             <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
59        field_just             <B><A HREF="form_field_just.3x.html">form_field_just(3x)</A></B>
60        field_opts             <B><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></B>
61        field_opts_off         <B><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></B>
62        field_opts_on          <B><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></B>
63        field_pad              <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
64
65        field_status           <B><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></B>
66        field_term             <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
67        field_type             <B><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></B>
68        field_userptr          <B><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></B>
69        form_driver            <B><A HREF="form_driver.3x.html">form_driver(3x)</A></B>
70        form_fields            <B><A HREF="form_field.3x.html">form_field(3x)</A></B>
71        form_init              <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
72        form_opts              <B><A HREF="form_opts.3x.html">form_opts(3x)</A></B>
73        form_opts_off          <B><A HREF="form_opts.3x.html">form_opts(3x)</A></B>
74        form_opts_on           <B><A HREF="form_opts.3x.html">form_opts(3x)</A></B>
75        form_page              <B><A HREF="form_page.3x.html">form_page(3x)</A></B>
76        form_request_by_name   <B><A HREF="form_requestname.3x.html">form_requestname(3x)</A></B>
77        form_request_name      <B><A HREF="form_requestname.3x.html">form_requestname(3x)</A></B>
78        form_sub               <B><A HREF="form_win.3x.html">form_win(3x)</A></B>
79        form_term              <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
80        form_userptr           <B><A HREF="form_userptr.3x.html">form_userptr(3x)</A></B>
81        form_win               <B><A HREF="form_win.3x.html">form_win(3x)</A></B>
82        free_field             <B><A HREF="form_field_new.3x.html">form_field_new(3x)</A></B>
83        free_form              <B><A HREF="form_new.3x.html">form_new(3x)</A></B>
84        link_field             <B><A HREF="form_field_new.3x.html">form_field_new(3x)</A></B>
85        link_fieldtype         <B><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></B>
86        move_field             <B><A HREF="form_field.3x.html">form_field(3x)</A></B>
87        new_field              <B><A HREF="form_field_new.3x.html">form_field_new(3x)</A></B>
88        new_form               <B><A HREF="form_new.3x.html">form_new(3x)</A></B>
89        new_page               <B><A HREF="form_new_page.3x.html">form_new_page(3x)</A></B>
90        pos_form_cursor        <B><A HREF="form_cursor.3x.html">form_cursor(3x)</A></B>
91        post_form              <B><A HREF="form_post.3x.html">form_post(3x)</A></B>
92        scale_form             <B><A HREF="form_win.3x.html">form_win(3x)</A></B>
93        set_current_field      <B><A HREF="form_page.3x.html">form_page(3x)</A></B>
94        set_field_back         <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
95        set_field_buffer       <B><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></B>
96        set_field_fore         <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
97        set_field_init         <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
98        set_field_just         <B><A HREF="form_field_just.3x.html">form_field_just(3x)</A></B>
99        set_field_opts         <B><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></B>
100        set_field_pad          <B><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></B>
101        set_field_status       <B><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></B>
102        set_field_term         <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
103        set_field_type         <B><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></B>
104        set_field_userptr      <B><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></B>
105        set_fieldtype_arg      <B><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></B>
106        set_fieldtype_choice   <B><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></B>
107        set_form_fields        <B><A HREF="form_field.3x.html">form_field(3x)</A></B>
108        set_form_init          <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
109        set_form_opts          <B><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></B>
110        set_form_page          <B><A HREF="form_page.3x.html">form_page(3x)</A></B>
111        set_form_sub           <B><A HREF="form_win.3x.html">form_win(3x)</A></B>
112        set_form_term          <B><A HREF="form_hook.3x.html">form_hook(3x)</A></B>
113        set_form_userptr       <B><A HREF="form_userptr.3x.html">form_userptr(3x)</A></B>
114        set_form_win           <B><A HREF="form_win.3x.html">form_win(3x)</A></B>
115        set_max_field          <B><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></B>
116        set_new_page           <B><A HREF="form_new_page.3x.html">form_new_page(3x)</A></B>
117        unpost_form            <B><A HREF="form_post.3x.html">form_post(3x)</A></B>
118
119
120 </PRE>
121 <H2>RETURN VALUE</H2><PRE>
122        Routines  that return pointers return <B>NULL</B> on error.  Rou-
123        tines that return an integer return one of  the  following
124        error codes:
125
126        <B>E_OK</B> The routine succeeded.
127
128        <B>E_CONNECTED</B>
129             The field is already connected to a form.
130
131        <B>E_SYSTEM_ERROR</B>
132             System error occurred (see <B>errno</B>).
133
134        <B>E_BAD_ARGUMENT</B>
135             Routine  detected  an incorrect or out-of-range argu-
136             ment.
137
138        <B>E_POSTED</B>
139             The form is already posted.
140
141        <B>E_BAD_STATE</B>
142             Routine was called from an initialization or termina-
143             tion function.
144
145        <B>E_NO_ROOM</B>
146             Form is too large for its window.
147
148        <B>E_NOT_POSTED</B>
149             The form has not been posted.
150
151        <B>E_UNKNOWN_COMMAND</B>
152             The form driver code saw an unknown request code.
153
154        <B>E_INVALID_FIELD</B>
155             Contents of a field are not valid.
156
157        <B>E_NOT_CONNECTED</B>
158             No fields are connected to the form.
159
160        <B>E_REQUEST_DENIED</B>
161             The form driver could not process the request.
162
163
164 </PRE>
165 <H2>SEE ALSO</H2><PRE>
166        <B><A HREF="ncurses.3x.html">curses(3x)</A></B>  and  3x  pages  whose  names begin "form_" for
167        detailed descriptions of the entry points.
168
169
170 </PRE>
171 <H2>NOTES</H2><PRE>
172        The header file <B>&lt;form.h&gt;</B> automatically includes the header
173        files <B>&lt;curses.h&gt;</B> and <B>&lt;eti.h&gt;</B>.
174
175        In  your  library  list,  libform.a should be before libn-
176        curses.a; that is, you want to say `-lform -lncurses', not
177        the  other  way  around (which would give you a link error
178        using GNU <B><A HREF="ld.1.html">ld(1)</A></B> and many other linkers).
179
180
181 </PRE>
182 <H2>PORTABILITY</H2><PRE>
183        These routines emulate the System V forms  library.   They
184        were not supported on Version 7 or BSD versions.
185
186
187 </PRE>
188 <H2>AUTHORS</H2><PRE>
189        Juergen  Pfeifer.  Manual pages and adaptation for ncurses
190        by Eric S. Raymond.
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238 </PRE>
239 <HR>
240 <ADDRESS>
241 Man(1) output converted with
242 <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
243 </ADDRESS>
244 </BODY>
245 </HTML>