Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 1 | .\"*************************************************************************** |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 2 | .\" Copyright 2018-2023,2024 Thomas E. Dickey * |
| 3 | .\" Copyright 1998-2014,2015 Free Software Foundation, Inc. * |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 4 | .\" * |
| 5 | .\" Permission is hereby granted, free of charge, to any person obtaining a * |
| 6 | .\" copy of this software and associated documentation files (the * |
| 7 | .\" "Software"), to deal in the Software without restriction, including * |
| 8 | .\" without limitation the rights to use, copy, modify, merge, publish, * |
| 9 | .\" distribute, distribute with modifications, sublicense, and/or sell * |
| 10 | .\" copies of the Software, and to permit persons to whom the Software is * |
| 11 | .\" furnished to do so, subject to the following conditions: * |
| 12 | .\" * |
| 13 | .\" The above copyright notice and this permission notice shall be included * |
| 14 | .\" in all copies or substantial portions of the Software. * |
| 15 | .\" * |
| 16 | .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| 17 | .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| 18 | .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| 19 | .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| 20 | .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| 21 | .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| 22 | .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| 23 | .\" * |
| 24 | .\" Except as contained in this notice, the name(s) of the above copyright * |
| 25 | .\" holders shall not be used in advertising or otherwise to promote the * |
| 26 | .\" sale, use or other dealings in this Software without prior written * |
| 27 | .\" authorization. * |
| 28 | .\"*************************************************************************** |
| 29 | .\" |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 30 | .\" $Id: form_field_opts.3x,v 1.44 2024/03/16 15:35:01 tom Exp $ |
| 31 | .TH form_field_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls" |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 32 | .SH NAME |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 33 | \fBset_field_opts\fP, |
| 34 | \fBfield_opts_on\fP, |
| 35 | \fBfield_opts_off\fP, |
| 36 | \fBfield_opts\fP \- |
| 37 | set and get field options |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 38 | .SH SYNOPSIS |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 39 | .nf |
| 40 | \fB#include <form.h> |
| 41 | .PP |
| 42 | \fBint set_field_opts(FIELD *\fIfield\fP, Field_Options \fIopts\fP); |
| 43 | \fBField_Options field_opts(const FIELD *\fIfield\fP); |
| 44 | .PP |
| 45 | \fBint field_opts_on(FIELD *\fIfield\fP, Field_Options \fIopts\fP); |
| 46 | \fBint field_opts_off(FIELD *\fIfield\fP, Field_Options \fIopts\fP); |
| 47 | .fi |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 48 | .SH DESCRIPTION |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 49 | The function \fBset_field_opts\fP sets all the given field's option bits (field |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 50 | option bits may be logically-OR'ed together). |
| 51 | .PP |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 52 | The function \fBfield_opts_on\fP turns on the given option bits, and leaves |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 53 | others alone. |
| 54 | .PP |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 55 | The function \fBfield_opts_off\fP turns off the given option bits, and leaves |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 56 | others alone. |
| 57 | .PP |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 58 | The function \fBfield_opts\fP returns the field's current option bits. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 59 | .PP |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 60 | The following standard options are defined (all are on by default): |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 61 | .TP 5 |
| 62 | O_ACTIVE |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 63 | The field is visited during processing. |
| 64 | If this option is off, the field will |
| 65 | not be reachable by navigation keys. |
| 66 | Please notice that an invisible field |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 67 | appears to be inactive also. |
| 68 | .TP 5 |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 69 | O_AUTOSKIP |
| 70 | Skip to the next field when this one fills. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 71 | .TP 5 |
| 72 | O_BLANK |
| 73 | The field is cleared whenever a character is entered at the first position. |
| 74 | .TP 5 |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 75 | O_EDIT |
| 76 | The field can be edited. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 77 | .TP 5 |
| 78 | O_NULLOK |
| 79 | Allow a blank field. |
| 80 | .TP 5 |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 81 | O_PASSOK |
| 82 | Validate field only if modified by user. |
| 83 | .TP 5 |
| 84 | O_PUBLIC |
| 85 | The field contents are displayed as data is entered. |
| 86 | .TP 5 |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 87 | O_STATIC |
| 88 | Field buffers are fixed to field's original size. |
| 89 | Turn this option off to create a dynamic field. |
| 90 | .TP 5 |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 91 | O_VISIBLE |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 92 | The field is displayed. |
| 93 | If this option is off, display of the field is |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 94 | suppressed. |
| 95 | .TP 5 |
| 96 | O_WRAP |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 97 | Words that do not fit on a line are wrapped to the next line. |
| 98 | Words are |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 99 | blank-separated. |
| 100 | .PP |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 101 | These extension options are defined (extensions are off by default): |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 102 | .TP 5 |
| 103 | O_DYNAMIC_JUSTIFY |
| 104 | Permit dynamic fields to be justified, like static fields. |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 105 | .TP 5 |
| 106 | O_NO_LEFT_STRIP |
| 107 | Preserve leading whitespace in the field buffer, which is normally discarded. |
| 108 | .TP 5 |
| 109 | O_EDGE_INSERT_STAY |
| 110 | When inserting into a field up to the boundary position, |
| 111 | optionally delay the scrolling, |
| 112 | so that the last inserted character remains visible, |
| 113 | but advance the cursor to reflect the insertion. |
| 114 | This allows the form library to display the |
| 115 | inserted character in one-character fields |
| 116 | as well as allowing the library to maintain consistent state. |
| 117 | .TP 5 |
| 118 | O_INPUT_FIELD |
| 119 | The \fBset_max_field\fP function checks for this extension, |
| 120 | which allows a dynamic field to shrink if the new |
| 121 | limit is smaller than the current field size. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 122 | .SH RETURN VALUE |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 123 | Except for \fBfield_opts\fP, each routine returns one of the following: |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 124 | .TP 5 |
| 125 | .B E_OK |
| 126 | The routine succeeded. |
| 127 | .TP 5 |
| 128 | .B E_BAD_ARGUMENT |
| 129 | Routine detected an incorrect or out-of-range argument. |
| 130 | .TP 5 |
| 131 | .B E_CURRENT |
| 132 | The field is the current field. |
| 133 | .TP 5 |
| 134 | .B E_SYSTEM_ERROR |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 135 | System error occurred (see \fBerrno\fP(3)). |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 136 | .SH PORTABILITY |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 137 | These routines emulate the System V forms library. |
| 138 | They were not supported on |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 139 | Version 7 or BSD versions. |
| 140 | .SH AUTHORS |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 141 | Juergen Pfeifer. |
| 142 | Manual pages and adaptation for new curses by Eric S. Raymond. |
| 143 | .SH SEE ALSO |
| 144 | \fB\%curses\fP(3X), |
| 145 | \fB\%form\fP(3X), |
| 146 | \fB\%form_field_just\fP(3X) |