]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/html/man/form_fieldtype.3x.html
ncurses 5.0
[ncurses.git] / Ada95 / html / man / form_fieldtype.3x.html
diff --git a/Ada95/html/man/form_fieldtype.3x.html b/Ada95/html/man/form_fieldtype.3x.html
new file mode 100644 (file)
index 0000000..f70a940
--- /dev/null
@@ -0,0 +1,124 @@
+<HTML>
+<BODY>
+<PRE>
+       <STRONG>form_fieldtype</STRONG> - define validation-field types
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+       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);
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
+       for data validation.  You supply it  with  <EM>field</EM><STRONG>_</STRONG><EM>check</EM>,  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 <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, 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 <STRONG>free_fieldtype</STRONG> frees the space allocated for
+       a given validation type.
+
+       The function <STRONG>set_fieldtype</STRONG> associates  three  storage-man-
+       agement functions with a field type.  The <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function
+       is automatically applied to the list of arguments you give
+       <STRONG>set_field_type</STRONG>  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  <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM>  function,  the
+       other  two  are optional, you may supply NULL for them. In
+       this case it is assumed,  that  <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM>  doesn't  allocate
+       memory  but simply loads the argument into a single scalar
+       value.
+
+       form an ordered set, and provide the forms user with a way
+       to  move  through the set.  The <STRONG>set_fieldtype_choice</STRONG> 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.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       The pointer-valued routines return NULL on error.
+
+       The  integer-valued  routines  return one of the following
+       codes on error:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_CONNECTED</STRONG>
+            The field is already connected to a form.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3X)</A></STRONG>.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       The header file <STRONG><form.h></STRONG> automatically includes the header
+       file <STRONG><curses.h></STRONG>.
+
+       All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of  these  functions  should
+       actually  be <STRONG>(void</STRONG> <STRONG>*)</STRONG>.  The type has been left uncorrected
+       for strict compatibility with System V.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</H2><PRE>
+       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
+       curses by Eric S. Raymond.
+
+
+
+
+
+
+
+
+
+</PRE>
+</BODY>
+</HTML>