X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fform_fieldtype.3x.html;h=9bf4fee5510418c1b8b844c2e1cb5104cff600e3;hp=dec43a354d1368605ee4b0f4daedba055f395c32;hb=e2d7d0028f4298dca2b0edaf2dc8ce30518d9218;hpb=b1f61d9f3aa244512045a6b02e759825d7049d34 diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html index dec43a35..9bf4fee5 100644 --- a/doc/html/man/form_fieldtype.3x.html +++ b/doc/html/man/form_fieldtype.3x.html @@ -1,16 +1,59 @@ + + +
++form_fieldtype(3x) form_fieldtype(3x) + + +
- form_fieldtype - define validation-field types + form_fieldtype - define validation-field types
- #include <form.h> + #include <form.h> FIELDTYPE *new_fieldtype( bool (* const field_check)(FIELD *, const void *), bool (* const char_check)(int, const void *)); @@ -21,7 +64,7 @@ void *(* const copy_arg)(const void *), void (* const free_arg)(void *)); int set_fieldtype_choice( - FIELDTYPE *fieldtype + FIELDTYPE *fieldtype, bool (* const next_choice)(FIELD *, const void *), bool (* const prev_choice)(FIELD *, const void *)); FIELDTYPE *link_fieldtype(FIELDTYPE *type1, @@ -30,41 +73,45 @@
- The function new_fieldtype creates a new field type usable - for data validation. You supply it with field_check, a + 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. + whenever the user attempts 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 + 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 + 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 + The function set_fieldtype_arg associates three storage- + management functions with a field type. The make_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 argu- + ment-block object which can later be passed to validation + predicated. The other two hook arguments should copy and + free argument-block structures. They will be used by the + forms-driver code. You must supply the make_arg function, + the other two are optional, you may supply NULL for them. + In this case it is assumed 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 + The function link_fieldtype creates a new field type from + the two given types. They are connected by an logical + 'OR'. + + 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- + 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 @@ -73,36 +120,49 @@
- The pointer-valued routines return NULL on error. + 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 argu- + ment. + + 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_OK The routine succeeded. - E_SYSTEM_ERROR - System error occurred (see errno). - - E_BAD_ARGUMENT + E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argu- ment. - E_CONNECTED + 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). +
- curses(3x), form(3x). + curses(3x), form(3x).
- The header file <form.h> automatically includes the header - file <curses.h>. + 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 + All of the (char *) arguments of these functions should + actually be (void *). The type has been left uncorrected for strict compatibility with System V. @@ -119,13 +179,7 @@ - - - - - - - + form_fieldtype(3x)