ncurses 6.0 - patch 20161224
[ncurses.git] / man / form_driver.3x
index 73245851410513a944ea4902eaa7863ee100bf99..e70fe4dc1af901b0a220966758744e8162a38753 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
 .\"***************************************************************************
-.\" Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.25 2015/12/05 21:06:26 tom Exp $
+.\" $Id: form_driver.3x,v 1.26 2016/12/04 01:01:17 tom Exp $
 .TH form_driver 3X ""
 .de bP
 .IP \(bu 4
 .TH form_driver 3X ""
 .de bP
 .IP \(bu 4
@@ -134,6 +134,32 @@ REQ_VALIDATION     Validate field.
 If the second argument is a printable character, the driver places it
 in the current position in the current field.  If it is one of the forms
 requests listed above, that request is executed.
 If the second argument is a printable character, the driver places it
 in the current position in the current field.  If it is one of the forms
 requests listed above, that request is executed.
+.SS Field validation
+The form library makes updates to the window associated with form fields rather than
+directly to the field buffers.
+.PP
+The form driver provides low-level control over updates to the form fields.
+The form driver also provides for validating modified fields to ensure that the contents
+meet whatever constraints an application may attach using \fBset_field_type\fP.
+.PP
+.PP
+You can validate a field without making any changes to it using
+\fBREQ_VALIDATION\fP.
+The form driver also validates a field in these cases:
+.bP
+a call to \fBset_current_field\fP attempts to move to a different field.
+.bP
+a call to \fBset_current_page\fP attempts to move to a different page of the form.
+.bP
+a request attempts to move to a different field.
+.bP
+a request attempts to move to a different page of the form.
+.PP
+In each case, the move fails if the field is invalid.
+.PP
+If the modified field is valid, the form driver copies the modified
+data from the window associated with the field
+to the field buffer.
 .SS Mouse handling
 .PP
 If the second argument is the KEY_MOUSE special key, the associated
 .SS Mouse handling
 .PP
 If the second argument is the KEY_MOUSE special key, the associated
@@ -218,6 +244,9 @@ The form driver code saw an unknown request code.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBform\fR(3X),
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBform\fR(3X),
+\fBform_field_buffer\fR(3X),
+\fBform_field_validation\fR(3X),
+\fBform_fieldtype\fR(3X),
 \fBform_variables\fR(3X),
 \fBgetch\fR(3X).
 .SH NOTES
 \fBform_variables\fR(3X),
 \fBgetch\fR(3X).
 .SH NOTES