|
|||||||
PopupsSeveral issues ago it was mentioned that the functionality of POPUPS was increased in version 1.1 and documented in a Technical Bulletin (#17, April 11 1989) by William Morgan of RevTech Technical Support. Since that time, several requests for further information have been received. This article is based on (with correction) that original Technical Bulletin but also includes some previously undocumented features. The new functionality centres chiefly on extensions to the PTYPE parameter as documented in UTILITY.DOC in record POP.UP.TEXT (q.v.) "Easywriter" Style Popups (Overlaid)If PTYPE<1,1,2> is set to 1 before POP.UP is called, the popup will not be removed from screen upon termination. It is then the responsiblity of the programmer to restore the screen to its original state by the use of VIDEO.RW. If PTYPE<1,1,4> is set to 1, POP.UP returns the VIDEO.RW image in PTYPE, along with the VIDEO.RW coordinates, X1 in OULX<1>, X2 in OULY<1>, Y1 in OULX<2> and Y2 in OULY<2>. Thus the screen could be redisplayed by the call 0001 VIDEO.RW(OULX<1>, OULX<2>, OULY<1>, OULY<2>, "R", PTYPE) Pre-tagging Popup ChoicesPTYPE<1,1,6> can be loaded with an @Tm delimited list of rows in the Popup to tag on entry. Limiting Popup DepthPTYPE<1,1,3> can be set to the maximum number of rows permitted per page of popup. Keeping an Active Select ListIf you have an active select list and you wish to call a popup WITHOUT using the select list for the popup, the select list may be preserved by adding an S onto the T parameter (ie Type = TS). Removing Some % Items from Dictionary PopupsIf the final character of MODE is set to %, certain % type dictionary items will be omitted from the poup. This is actually of little use as %WINDOWS% is still included. This seems to be achieved by a literal comparison, so the % items omitted can be seen in the variable table of $POP.UP. Context Sensitive HelpAny Catalyst call may be made when the user presses F1 by inserting the code and command (comma delimited) into RANGE. In addition the help may be made ROW SPECIFIC by including the special literal <@POS> within the Catalyst call as a branch or argument. This literal will be swapped with the contents of the first field of the current row of the popup before the Catalyst call is made. Thus setting RANGE to "S.TEST,<@POS>" would call subroutine TEST passing it the value contained in the first column of the current row of the popup. NB THIS FEATURE ONLY WORKS IF THE POPUP IS AN F OR R TYPE. IT DOES NOT WORK FOR T TYPES. Concept HelpAny Catalyst call can be made when the user presses Ctrl-F2 by inserting the code and command (command delimited) into PTYPE<1,1,8>. This command can be forcibly executed on entry to the popup by setting PTYPE<1,1,9> to 1. (Volume 1, Issue 9, Page 4) |
|||||||
| |||||||