EEDTDSP_METHOD
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
subroutine EEDTDSP_METHOD a_data ,a a_type ,a a_text ,a a_edit ,a a_inpinfo ,a
Arguments
a_data
The data as stored in the field. (a)
a_type
The user_type string specified in the .FIELD USER qualifier. (a)
a_text
(optional) The user_text string specified in the .FIELD USER qualifier. (a)
a_edit
The returned text to be edited. (a)
a_inpinfo
The structure of input information. (a)
Discussion
EEDTDSP_METHOD is a subroutine that you write and name. The name of your subroutine is registered with UI Toolkit using the E_METHOD subroutine.
We recommend using an input field edit format method (%IEDITFMT_METHOD) instead of EEDTESP_METHOD. Unlike EEDTDSP_METHOD, your %IEDITFMT_METHOD adds to Toolkit functionality rather than replaces it. %IEDITFMT_METHOD also provides access to the structure defined in inpinf.def and to the 20 optional arguments passed to I_INPUT and L_INPUT. |
The UI Toolkit input subroutine calls the EEDTDSP_METHOD subroutine to display the editable contents of a user-type field differently than both the way it is stored and the way EDSPFLD_METHOD displays it (with formatting). If an edit format method is specified for the input field (using %IEDITFMT_METHOD), the edit format method is called after the EEDTDSP_METHOD subroutine. Use EEDTDSP_METHOD if you need the text of user-defined data type fields to display in another way than the way they are stored.
Note that the length of the text passed in a_edit is defined by the input length for the field. It is not limited by either the display length or the view length.
You will never call EEDTDSP_METHOD directly; it is called only by UI Toolkit.
The inpinf.def file defines a_inpinfo. See IARRIVE_METHOD for information.
S/DE Repository allows you to specify a subtype (or class) for user-defined fields. The default subtype is alpha, but you can optionally specify numeric or date. To access this subtype within the Toolkit user-defined processing routines, use the window ID and field number contained within the inputinfo structure (the a_inpinfo argument). Pass these two values to the I_FLDINF subroutine to retrieve the gs_inpfld structure (the controls argument) which contains the gs_class (user subtype) value. For user-defined alpha fields; gs_class = 0; for user-defined numeric fields, gs_class = 1; for user-defined date fields, gs_class = 2.
Although you can manage the display and validation of user-defined fields using EDSPFLD_METHOD and ECHKFLD_METHOD, when the field is edited (with the E_xxx menu entries) the field is treated as alphanumeric. Thus if the storage form of the data differs from the manner in which it was entered, confusion can result. EEDTDSP_METHOD can solve this problem.
Toolkit’s default method is named TKP_EDTDSP and is listed below:
subroutine tkp_edtdsp ; ; Description: ; Format the editable text for a user-defined data type ; ; Arguments: ; a_data ,a ;Data as stored in the field ; a_type ,a ;User-defined data type ; a_text ,a ;(Optional) user text string ; a_edit ,a ;Returned text to be edited ; a_inpinfo ,a ;Input information ; ; Notes: ; ; Overload this routine if you need to have user-defined data types ; display data other than as stored when the user begins to edit the field. ; ; This default version merely moves the stored data into the editing ; buffer. You should retain this functionality for any unknown user data ; types. If you remove the semi-colons which "comment out" the case ; statement, then replace the "MYTYPE" case shown with one or more of ; your own, the "else" on the endcase will handle the default condition. proc ; case a_usertype of ; begincase ; "MYTYPE ": call format_my_type ; endcase ; else a_edit = a_data xreturn endsubroutine
See also
- %IEDITFMT_METHOD for more information on specifying an edit format method for an input field
- Overloading UI Toolkit routines for more information on creating this subroutine
- Appendix D: Methods
See the ECHKFLD_METHOD Examples for an example that uses ECHKFLD_METHOD, EDSPFLD_METHOD, and EEDTSP_METHOD to validate and display a ZIP Code.