X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fform_fieldtype.3x.html;h=386219b48e6a0e8bb6d785c8ea254812bf165059;hp=d4ff4f34b8efb213865eb393d2fc3d4c0f5ec6de;hb=3d46d7e9d3e210417f34acf3b469378558398d07;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html index d4ff4f34..386219b4 100644 --- a/doc/html/man/form_fieldtype.3x.html +++ b/doc/html/man/form_fieldtype.3x.html @@ -1,8 +1,8 @@ - - +
+ +- +form_fieldtype(3x) form_fieldtype(3x) --
+ + + +
form_fieldtype - define validation-field types --
+
#include <form.h> - FIELDTYPE *new_fieldtype( - bool (* const field_check)(FIELD *, const void *), - bool (* const char_check)(int, const void *)); - int free_fieldtype(FIELDTYPE *fieldtype); - int set_fieldtype_arg( - FIELDTYPE *fieldtype, - void *(* const make_arg)(va_list *), - void *(* const copy_arg)(const void *), - void (* const free_arg)(void *)); - int set_fieldtype_choice( - FIELDTYPE *fieldtype, - bool (* const next_choice)(FIELD *, const void *), - bool (* const prev_choice)(FIELD *, const void *)); - FIELDTYPE *link_fieldtype(FIELDTYPE *type1, - FIELDTYPE *type2); + FIELDTYPE *new_fieldtype( + bool (* const field_check)(FIELD *, const void *), + bool (* const char_check)(int, const void *)); + int free_fieldtype(FIELDTYPE *fieldtype); --
- The function new_fieldtype creates a new field type usable - for data validation. You supply it with field_check, a - predicate to check the validity of an entered data string - whenever the user attempt to leave a field. The (FIELD *) - argument is passed in so the validation predicate can see - the field's buffer, sizes and other attributes; the second - argument is an argument-block structure, about which more - below. - - You also supply new_fieldtype with char_check, a function - to validate input characters as they are entered; it will - be passed the character to be checked and a pointer to an - argument-block structure. - - The function free_fieldtype frees the space allocated for - a given validation type. - - The function set_fieldtype associates three storage-man- - agement functions with a field type. The mak_arg function - is automatically applied to the list of arguments you give - set_field_type when attaching validation to a field; its - job is to bundle these into an allocated argument-block - object which can later be passed to validation predicated. - The other two hook arguments should copy and free argu- - ment-block structures. They will be used by the forms- - driver code. You must supply the mak_arg function, the - other two are optional, you may supply NULL for them. In - this case it is assumed, that mak_arg doesn't allocate - memory but simply loads the argument into a single scalar - value. - - The form driver requests REQ_NEXT_CHOICE and - REQ_PREV_CHOICE assume that the possible values of a field - form an ordered set, and provide the forms user with a way - to move through the set. The set_fieldtype_choice func- - tion allows forms programmers to define successor and pre- - decessor functions for the field type. These functions - take the field pointer and an argument-block structure as - arguments. + int set_fieldtype_arg( + FIELDTYPE *fieldtype, + void *(* const make_arg)(va_list *), + void *(* const copy_arg)(const void *), + void (* const free_arg)(void *)); + int set_fieldtype_choice( + FIELDTYPE *fieldtype, + bool (* const next_choice)(FIELD *, const void *), + bool (* const prev_choice)(FIELD *, const void *)); + FIELDTYPE *link_fieldtype(FIELDTYPE *type1, + FIELDTYPE *type2); --
- The pointer-valued routines return NULL on error. - The integer-valued routines return one of the following - codes on error: +
- E_OK The routine succeeded. +
+ The function new_fieldtype creates a new field type usable for data + validation. Its parameters are function pointers: - E_SYSTEM_ERROR - System error occurred (see errno). + field_check + This function checks the validity of an entered data string + whenever the user attempts to leave a field. It has two + arguments: - E_BAD_ARGUMENT - Routine detected an incorrect or out-of-range argu- - ment. + o The (FIELD *) argument is passed in so the validation + predicate can see the field's buffer, sizes and other + attributes. - E_CONNECTED - The field is already connected to a form. + o The second argument is an argument-block structure, about + which more below. + char_check + This function validates input characters as they are entered. The + form library passes it the character to be checked and a pointer + to an argument-block structure. --
- curses(3x), form(3x). +
+ The free_fieldtype function frees the space allocated for a given + validation type by new_fieldtype. --
- The header file <form.h> automatically includes the header - file <curses.h>. - All of the (char *) arguments of these functions should - actually be (void *). The type has been left uncorrected - for strict compatibility with System V. +
+ The function set_fieldtype_arg associates three storage-management + functions with a field type: + make_arg + This function is automatically applied to the list of arguments + you give set_field_type when attaching validation to a field. It + stores the arguments in an allocated argument-block object which + is used when validating input. --
- These routines emulate the System V forms library. They - were not supported on Version 7 or BSD versions. + copy_arg + This function may be used by applications to copy argument-blocks. + free_arg + Frees an argument-block structure. + + You must supply the make_arg function. The other two are optional: you + may supply NULL for them. In this case, the form library assumes that + make_arg does not allocate memory but simply loads the argument into a + single scalar value. + + +
+ The form driver requests REQ_NEXT_CHOICE and REQ_PREV_CHOICE assume + that the possible values of a field form an ordered set, and provide + the forms user with a way to move through the set. + + The set_fieldtype_choice function allows forms programmers to define + successor and predecessor functions for the field type. These + functions take the field pointer and an argument-block structure as + arguments. + + +
+ The function link_fieldtype creates a new field type from the two given + types. They are connected by an logical 'OR'. + + +
+ The pointer-valued routines return NULL on error. They set errno + according to their success: + + E_OK The routine succeeded. + + E_BAD_ARGUMENT + Routine detected an incorrect or out-of-range argument. + + E_SYSTEM_ERROR + System error occurred, e.g., malloc failure. + + The integer-valued routines return one of the following codes on error: + + E_OK The routine succeeded. + + E_BAD_ARGUMENT + Routine detected an incorrect or out-of-range argument. + + E_CONNECTED + The field is already connected to a form. + + E_CURRENT + The field is the current field. + + E_SYSTEM_ERROR + System error occurred (see errno(3)). --
- Juergen Pfeifer. Manual pages and adaptation for new - curses by Eric S. Raymond. +
+ curses(3x), form(3x), form_field_validation(3x). +
+ The header file <form.h> automatically includes the header file + <curses.h>. +
+ These routines emulate the System V forms library. They were not + supported on Version 7 or BSD versions. +
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. + Raymond. + form_fieldtype(3x)-