~ubuntu-branches/debian/sid/ncurses/sid

« back to all changes in this revision

Viewing changes to doc/html/man/form_driver.3x.html

  • Committer: Package Import Robot
  • Author(s): Sven Joachim
  • Date: 2015-08-17 18:01:53 UTC
  • mfrom: (1.32.11)
  • Revision ID: package-import@ubuntu.com-20150817180153-ywf02awpkuzvqwdv
Tags: 6.0+20150810-1
* New upstream release.
  - Fix comparison against "/usr/include" in misc/gen-pkgconfig.in
    (Closes: #790548).
* Configure with "--with-abi-version=5", upstream defaults to abi 6 now.
* Configure with "--with-versioned-syms" (Closes: #788610).
  - Bump minimal versions of all symbols as well as shlibs to 6.
* After building the wide library, install it into a temporary
  scratchdir so that test/configure can find the necessary auxiliary
  files (see #786436).
* Drop the libncursesw5-dev build-dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!-- 
2
2
  ****************************************************************************
3
 
  * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
 
3
  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
4
4
  *                                                                          *
5
5
  * Permission is hereby granted, free of charge, to any person obtaining a  *
6
6
  * copy of this software and associated documentation files (the            *
26
26
  * sale, use or other dealings in this Software without prior written       *
27
27
  * authorization.                                                           *
28
28
  ****************************************************************************
29
 
  * @Id: form_driver.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
 
29
  * @Id: form_driver.3x,v 1.24 2015/08/02 18:21:11 tom Exp @
30
30
-->
31
31
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
32
32
<HTML>
53
53
</PRE>
54
54
<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55
55
       <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
56
 
       int form_driver(FORM *form, int c);
 
56
       <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
 
57
       <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
57
58
 
58
59
 
59
60
</PRE>
60
61
<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
62
 
 
63
</PRE>
 
64
<H3><a name="h3-form_driver">form_driver</a></H3><PRE>
61
65
       Once a form has been posted (displayed), you should funnel
62
66
       input events to it through <STRONG>form_driver</STRONG>.  This routine  has
63
67
       three major input cases:
65
69
       <STRONG>o</STRONG>   The  input  is  a form navigation request.  Navigation
66
70
           request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
67
71
           are   distinct  from  the  key-  and  character  codes
68
 
           returned by <STRONG>wgetch</STRONG>.
 
72
           returned by <STRONG><A HREF="wgetch.3x.html">wgetch(3x)</A></STRONG>.
69
73
 
70
74
       <STRONG>o</STRONG>   The input is a printable character.  Printable charac-
71
75
           ters  (which  must  be  positive,  less  than 256) are
74
78
       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key associated with
75
79
           an mouse event.
76
80
 
 
81
 
 
82
</PRE>
 
83
<H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
 
84
       This  extension  simplifies  the  use of the forms library
 
85
       using wide characters.  The input is either a key code  (a
 
86
       request) or a wide character returned by <STRONG><A HREF="get_wch.3x.html">get_wch(3x)</A></STRONG>.  The
 
87
       type must be passed as well,  to  enable  the  library  to
 
88
       determine  whether  the parameter is a wide character or a
 
89
       request.
 
90
 
 
91
 
 
92
</PRE>
 
93
<H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
77
94
       The form driver requests are as follows:
78
95
 
79
 
       REQ_NEXT_PAGE
80
 
            Move to the next page.
81
 
 
82
 
       REQ_PREV_PAGE
83
 
            Move to the previous page.
84
 
 
85
 
       REQ_FIRST_PAGE
86
 
            Move to the first page.
87
 
 
88
 
       REQ_LAST_PAGE
89
 
            Move to the last field.
90
 
 
91
 
 
92
 
       REQ_NEXT_FIELD
93
 
            Move to the next field.
94
 
 
95
 
       REQ_PREV_FIELD
96
 
            Move to the previous field.
97
 
 
98
 
       REQ_FIRST_FIELD
99
 
            Move to the first field.
100
 
 
101
 
       REQ_LAST_FIELD
102
 
            Move to the last field.
103
 
 
104
 
       REQ_SNEXT_FIELD
105
 
            Move to the sorted next field.
106
 
 
107
 
       REQ_SPREV_FIELD
108
 
            Move to the sorted previous field.
109
 
 
110
 
       REQ_SFIRST_FIELD
111
 
            Move to the sorted first field.
112
 
 
113
 
       REQ_SLAST_FIELD
114
 
            Move to the sorted last field.
115
 
 
116
 
       REQ_LEFT_FIELD
117
 
            Move left to a field.
118
 
 
119
 
       REQ_RIGHT_FIELD
120
 
            Move right to a field.
121
 
 
122
 
       REQ_UP_FIELD
123
 
            Move up to a field.
124
 
 
125
 
       REQ_DOWN_FIELD
126
 
            Move down to a field.
127
 
 
128
 
 
129
 
       REQ_NEXT_CHAR
130
 
            Move to the next char.
131
 
 
132
 
       REQ_PREV_CHAR
133
 
            Move to the previous char.
134
 
 
135
 
       REQ_NEXT_LINE
136
 
            Move to the next line.
137
 
 
138
 
       REQ_PREV_LINE
139
 
            Move to the previous line.
140
 
 
141
 
       REQ_NEXT_WORD
142
 
            Move to the next word.
143
 
 
144
 
       REQ_PREV_WORD
145
 
            Move to the previous word.
146
 
 
147
 
       REQ_BEG_FIELD
148
 
            Move to the beginning of the field.
149
 
 
150
 
       REQ_END_FIELD
151
 
            Move to the end of the field.
152
 
 
153
 
       REQ_BEG_LINE
154
 
            Move to the beginning of the line.
155
 
 
156
 
       REQ_END_LINE
157
 
            Move to the end of the line.
158
 
 
159
 
       REQ_LEFT_CHAR
160
 
            Move left in the field.
161
 
 
162
 
       REQ_RIGHT_CHAR
163
 
            Move right in the field.
164
 
 
165
 
       REQ_UP_CHAR
166
 
            Move up in the field.
167
 
 
168
 
       REQ_DOWN_CHAR
169
 
            Move down in the field.
170
 
 
171
 
 
172
 
       REQ_NEW_LINE
173
 
            Insert or overlay a new line.
174
 
 
175
 
       REQ_INS_CHAR
176
 
            Insert a blank at the cursor.
177
 
 
178
 
       REQ_INS_LINE
179
 
            Insert a blank line at the cursor.
180
 
 
181
 
       REQ_DEL_CHAR
182
 
            Delete character at the cursor.
183
 
 
184
 
       REQ_DEL_PREV
185
 
            Delete character before the cursor.
186
 
 
187
 
       REQ_DEL_LINE
188
 
            Delete line at the cursor.
189
 
 
190
 
       REQ_DEL_WORD
191
 
            Delete blank-delimited word at the cursor.
192
 
 
193
 
       REQ_CLR_EOL
194
 
            Clear to end of line from cursor.
195
 
 
196
 
       REQ_CLR_EOF
197
 
            Clear to end of field from cursor.
198
 
 
199
 
       REQ_CLR_FIELD
200
 
            Clear the entire field.
201
 
 
202
 
       REQ_OVL_MODE
203
 
            Enter overlay mode.
204
 
 
205
 
       REQ_INS_MODE
206
 
            Enter insert mode.
207
 
 
208
 
 
209
 
       REQ_SCR_FLINE
210
 
            Scroll the field forward a line.
211
 
 
212
 
       REQ_SCR_BLINE
213
 
            Scroll the field backward a line.
214
 
 
215
 
       REQ_SCR_FPAGE
216
 
            Scroll the field forward a page.
217
 
 
218
 
       REQ_SCR_BPAGE
219
 
            Scroll the field backward a page.
220
 
 
221
 
       REQ_SCR_FHPAGE
222
 
            Scroll the field forward half a page.
223
 
 
224
 
       REQ_SCR_BHPAGE
225
 
            Scroll the field backward half a page.
226
 
 
227
 
 
228
 
       REQ_SCR_FCHAR
229
 
            Scroll the field forward a character.
230
 
 
231
 
       REQ_SCR_BCHAR
232
 
            Scroll the field backward a character.
233
 
 
234
 
       REQ_SCR_HFLINE
235
 
            Horizontal scroll the field forward a line.
236
 
 
237
 
       REQ_SCR_HBLINE
238
 
            Horizontal scroll the field backward a line.
239
 
 
240
 
       REQ_SCR_HFHALF
241
 
            Horizontal scroll the field forward half a line.
242
 
 
243
 
       REQ_SCR_HBHALF
244
 
            Horizontal scroll the field backward half a line.
245
 
 
246
 
 
247
 
       REQ_VALIDATION
248
 
            Validate field.
249
 
 
250
 
       REQ_NEXT_CHOICE
251
 
            Display next field choice.
252
 
 
253
 
       REQ_PREV_CHOICE
254
 
            Display previous field choice.
255
 
 
256
 
       If  the  second  argument  is  a  printable character, the
257
 
       driver places it in the current position  in  the  current
258
 
       field.   If  it is one of the forms requests listed above,
 
96
       <EM>Name</EM>               <EM>Description</EM>
 
97
       -------------------------------------------------------------------------
 
98
       REQ_BEG_FIELD      Move to the beginning of the field.
 
99
       REQ_BEG_LINE       Move to the beginning of the line.
 
100
       REQ_CLR_EOF        Clear to end of field from cursor.
 
101
       REQ_CLR_EOL        Clear to end of line from cursor.
 
102
       REQ_CLR_FIELD      Clear the entire field.
 
103
       REQ_DEL_CHAR       Delete character at the cursor.
 
104
       REQ_DEL_LINE       Delete line at the cursor.
 
105
       REQ_DEL_PREV       Delete character before the cursor.
 
106
       REQ_DEL_WORD       Delete blank-delimited word at the cursor.
 
107
       REQ_DOWN_CHAR      Move down in the field.
 
108
       REQ_DOWN_FIELD     Move down to a field.
 
109
       REQ_END_FIELD      Move to the end of the field.
 
110
       REQ_END_LINE       Move to the end of the line.
 
111
       REQ_FIRST_FIELD    Move to the first field.
 
112
       REQ_FIRST_PAGE     Move to the first page.
 
113
       REQ_INS_CHAR       Insert a blank at the cursor.
 
114
       REQ_INS_LINE       Insert a blank line at the cursor.
 
115
       REQ_INS_MODE       Enter insert mode.
 
116
       REQ_LAST_FIELD     Move to the last field.
 
117
       REQ_LAST_PAGE      Move to the last field.
 
118
       REQ_LEFT_CHAR      Move left in the field.
 
119
       REQ_LEFT_FIELD     Move left to a field.
 
120
 
 
121
       REQ_NEW_LINE       Insert or overlay a new line.
 
122
       REQ_NEXT_CHAR      Move to the next char.
 
123
       REQ_NEXT_CHOICE    Display next field choice.
 
124
       REQ_NEXT_FIELD     Move to the next field.
 
125
       REQ_NEXT_LINE      Move to the next line.
 
126
       REQ_NEXT_PAGE      Move to the next page.
 
127
       REQ_NEXT_PAGE      Move to the next page.
 
128
       REQ_NEXT_WORD      Move to the next word.
 
129
       REQ_OVL_MODE       Enter overlay mode.
 
130
       REQ_PREV_CHAR      Move to the previous char.
 
131
       REQ_PREV_CHOICE    Display previous field choice.
 
132
       REQ_PREV_FIELD     Move to the previous field.
 
133
       REQ_PREV_LINE      Move to the previous line.
 
134
       REQ_PREV_PAGE      Move to the previous page.
 
135
       REQ_PREV_WORD      Move to the previous word.
 
136
       REQ_RIGHT_CHAR     Move right in the field.
 
137
       REQ_RIGHT_FIELD    Move right to a field.
 
138
       REQ_SCR_BCHAR      Scroll the field backward a character.
 
139
       REQ_SCR_BHPAGE     Scroll the field backward half a page.
 
140
       REQ_SCR_BLINE      Scroll the field backward a line.
 
141
       REQ_SCR_BPAGE      Scroll the field backward a page.
 
142
       REQ_SCR_FCHAR      Scroll the field forward a character.
 
143
       REQ_SCR_FHPAGE     Scroll the field forward half a page.
 
144
       REQ_SCR_FLINE      Scroll the field forward a line.
 
145
       REQ_SCR_FPAGE      Scroll the field forward a page.
 
146
       REQ_SCR_HBHALF     Horizontal scroll the field backward half a line.
 
147
       REQ_SCR_HBLINE     Horizontal scroll the field backward a line.
 
148
       REQ_SCR_HFHALF     Horizontal scroll the field forward half a line.
 
149
       REQ_SCR_HFLINE     Horizontal scroll the field forward a line.
 
150
       REQ_SFIRST_FIELD   Move to the sorted first field.
 
151
       REQ_SLAST_FIELD    Move to the sorted last field.
 
152
       REQ_SNEXT_FIELD    Move to the sorted next field.
 
153
       REQ_SPREV_FIELD    Move to the sorted previous field.
 
154
       REQ_UP_CHAR        Move up in the field.
 
155
       REQ_UP_FIELD       Move up to a field.
 
156
       REQ_VALIDATION     Validate field.
 
157
 
 
158
       If the second  argument  is  a  printable  character,  the
 
159
       driver  places  it  in the current position in the current
 
160
       field.  If it is one of the forms requests  listed  above,
259
161
       that request is executed.
260
162
 
261
163
 
262
164
</PRE>
263
 
<H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE>
264
 
       If the second argument is the KEY_MOUSE special  key,  the
 
165
<H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE>
 
166
       If  the  second argument is the KEY_MOUSE special key, the
265
167
       associated mouse event is translated into one of the above
266
 
       pre-defined requests.  Currently only clicks in  the  user
267
 
       window  (e.g., inside the form display area or the decora-
 
168
       pre-defined  requests.   Currently only clicks in the user
 
169
       window (e.g., inside the form display area or the  decora-
268
170
       tion window) are handled.
269
171
 
270
172
       If you click above the display region of the form:
283
185
 
284
186
          a REQ_LAST_FIELD is generated for a triple-click.
285
187
 
286
 
       If you click at an field inside the display  area  of  the
 
188
       If  you  click  at an field inside the display area of the
287
189
       form:
288
190
 
289
191
          <STRONG>o</STRONG>   the form cursor is positioned to that field.
290
192
 
291
 
          <STRONG>o</STRONG>   If  you  double-click  a  field, the form cursor is
292
 
              positioned to that field and  <STRONG>E_UNKNOWN_COMMAND</STRONG>  is
 
193
          <STRONG>o</STRONG>   If you double-click a field,  the  form  cursor  is
 
194
              positioned  to  that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is
293
195
              returned.  This return value makes sense, because a
294
 
              double click usually means that  an  field-specific
295
 
              action  should be returned.  It is exactly the pur-
296
 
              pose of this return value to signal that an  appli-
 
196
              double  click  usually means that an field-specific
 
197
              action should be returned.  It is exactly the  pur-
 
198
              pose  of this return value to signal that an appli-
297
199
              cation specific command should be executed.
298
200
 
299
 
          <STRONG>o</STRONG>   If   a   translation   into  a  request  was  done,
 
201
          <STRONG>o</STRONG>   If  a  translation  into  a   request   was   done,
300
202
              <STRONG>form_driver</STRONG> returns the result of this request.
301
203
 
302
 
       If you clicked outside the user window or the mouse  event
303
 
       could   not   be   translated   into  a  form  request  an
 
204
       If  you clicked outside the user window or the mouse event
 
205
       could  not  be  translated  into   a   form   request   an
304
206
       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
305
207
 
306
208
 
307
209
</PRE>
308
 
<H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
 
210
<H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
309
211
       If the second argument is neither printable nor one of the
310
 
       above  pre-defined form requests, the driver assumes it is
 
212
       above pre-defined form requests, the driver assumes it  is
311
213
       an application-specific command and returns <STRONG>E_UNKNOWN_COM-</STRONG>
312
214
       <STRONG>MAND</STRONG>.  Application-defined commands should be defined rel-
313
 
       ative to <STRONG>MAX_COMMAND</STRONG>, the  maximum  value  of  these  pre-
 
215
       ative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum  value of these pre-
314
216
       defined requests.
315
217
 
316
218
 
321
223
       <STRONG>E_OK</STRONG> The routine succeeded.
322
224
 
323
225
       <STRONG>E_BAD_ARGUMENT</STRONG>
324
 
            Routine  detected  an incorrect or out-of-range argu-
 
226
            Routine detected an incorrect or  out-of-range  argu-
325
227
            ment.
326
228
 
327
229
       <STRONG>E_BAD_STATE</STRONG>
357
259
 
358
260
</PRE>
359
261
<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
360
 
       These routines emulate the System V forms  library.   They
 
262
       These  routines  emulate the System V forms library.  They
361
263
       were not supported on Version 7 or BSD versions.
362
264
 
363
265
 
364
266
</PRE>
365
267
<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
366
 
       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
 
268
       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
367
269
       curses by Eric S. Raymond.
368
270
 
369
271
 
376
278
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
377
279
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
378
280
<ul>
379
 
<li><a href="#h3-MOUSE-HANDLING">MOUSE HANDLING</a></li>
380
 
<li><a href="#h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></li>
 
281
<li><a href="#h3-form_driver">form_driver</a></li>
 
282
<li><a href="#h3-form_driver_w">form_driver_w</a></li>
 
283
<li><a href="#h3-Form-driver-requests">Form-driver requests</a></li>
 
284
<li><a href="#h3-Mouse-handling">Mouse handling</a></li>
 
285
<li><a href="#h3-Application-defined-commands">Application-defined commands</a></li>
381
286
</ul>
382
287
</li>
383
288
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>