X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fform_driver.3x.html;h=ab9a263787d99994ce32ec3f271bf5e77fc0bf20;hp=36a27aa81bc531a45453985b2f6eeaf47cc7ce20;hb=3a935d9991cdf43ebfa952073c9b555f73a3e011;hpb=b1f61d9f3aa244512045a6b02e759825d7049d34 diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html index 36a27aa8..ab9a2637 100644 --- a/doc/html/man/form_driver.3x.html +++ b/doc/html/man/form_driver.3x.html @@ -1,26 +1,80 @@ + + +
++form_driver(3x) form_driver(3x) + + +
- form_driver - command-processing loop of the form system + form_driver - command-processing loop of the form system
- #include <form.h> + #include <form.h> int form_driver(FORM *form, int c);
Once a form has been posted (displayed), you should funnel - input events to it through form_driver. This routine has - two major input cases; either the input is a form naviga- - tion request or it's a printable ASCII character. The - form driver requests are as follows: + input events to it through form_driver. This routine has + three major input cases: + + o The input is a form navigation request. Navigation + request codes are constants defined in <form.h>, which + are distinct from the key- and character codes + returned by wgetch. + + o The input is a printable character. Printable charac- + ters (which must be positive, less than 256) are + checked according to the program's locale settings. + + o The input is the KEY_MOUSE special key associated with + an mouse event. + + The form driver requests are as follows: REQ_NEXT_PAGE Move to the next page. @@ -115,7 +169,6 @@ Move down in the field. - REQ_NEW_LINE Insert or overlay a new line. @@ -171,6 +224,7 @@ REQ_SCR_BHPAGE Scroll the field backward half a page. + REQ_SCR_FCHAR Scroll the field forward a character. @@ -199,58 +253,102 @@ REQ_PREV_CHOICE Display previous field choice. - If the second argument is a printable ASCII character, the + 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 neither printable ASCII nor one - of the above pre-defined form requests, the driver assumes - it is an application-specific command and returns - E_UNKNOWN_COMMAND. Application-defined commands should be - defined relative to MAX_COMMAND, the maximum value of - these pre-defined requests. + MOUSE HANDLING + If the second argument is the KEY_MOUSE special key, the + associated mouse event is translated into one of the above + pre-defined requests. Currently only clicks in the user + window (e.g., inside the form display area or the decora- + tion window) are handled. + + If you click above the display region of the form: + + a REQ_PREV_FIELD is generated for a single click, + + a REQ_PREV_PAGE is generated for a double-click and + + a REQ_FIRST_FIELD is generated for a triple-click. + + If you click below the display region of the form: + + a REQ_NEXT_FIELD is generated for a single click, + + a REQ_NEXT_PAGE is generated for a double-click and + + a REQ_LAST_FIELD is generated for a triple-click. + + If you click at an field inside the display area of the + form: + + o the form cursor is positioned to that field. + + o If you double-click a field, the form cursor is + positioned to that field and E_UNKNOWN_COMMAND is + returned. This return value makes sense, because a + double click usually means that an field-specific + action should be returned. It is exactly the pur- + pose of this return value to signal that an appli- + cation specific command should be executed. + + o If a translation into a request was done, + form_driver returns the result of this request. + + If you clicked outside the user window or the mouse event + could not be translated into a form request an + E_REQUEST_DENIED is returned. + + APPLICATION-DEFINED COMMANDS + If the second argument is neither printable nor one of the + above pre-defined form requests, the driver assumes it is + an application-specific command and returns E_UNKNOWN_COM- + MAND. Application-defined commands should be defined rel- + ative to MAX_COMMAND, the maximum value of these pre- + defined requests.
- form_driver return one of the following error codes: + form_driver returns one of the following error codes: - 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_BAD_STATE - Routine was called from an initialization or - termination function. + E_BAD_STATE + Routine was called from an initialization or termina- + tion function. - E_NOT_POSTED + E_NOT_POSTED The form has not been posted. - E_UNKNOWN_COMMAND - The form driver code saw an unknown request code. - - E_INVALID_FIELD + E_INVALID_FIELD Contents of field is invalid. - E_REQUEST_DENIED + E_REQUEST_DENIED The form driver could not process the request. + E_SYSTEM_ERROR + System error occurred (see errno). + + E_UNKNOWN_COMMAND + The form driver code saw an unknown request code. +
- curses(3x), form(3x). + curses(3x), form(3x), form_variables(3x), getch(3x).
- The header file <form.h> automatically includes the header - files <curses.h>. + The header file <form.h> automatically includes the header + files <curses.h>.@@ -266,29 +364,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + form_driver(3x)