Description of MENUSYS

Download count: 13 this month, 5398 altogether.
Downloads for MENUSYS :
  VMARC archive: v-56K

 
**********************  UNCLASSIFIED ***********************************
* :nick.MENUSYS    :sec.UNCLASSIFIED                  :disk.VMTOOLS
* :title.XEDIT Screen Management System for PFKey panels.
* :version.1.28    :date.95/03/02   :summary.PACKAGE  :support.X
* :oname.Les Paton                  :onode.GNKVM      :ouser.LPATON
* :aname.Les Paton                  :anode.GNKVM      :auser.LPATON
* :sw.Rexx, XEDIT
* :ops.VM/SP5+                      :lang.Rexx
* :doc.Examples
* :abs.Very flexible, powerful XEDIT screen manager which allows the
* user to build screen panels from simple 'menu' files.
* A menu is a list of PFKeys with associated titles and actions to be
* taken when the key is pressed. Basic function extended using profiles.
* :lic.By placing material on this conference, I agree to grant
* IBM a non-exclusive, royalty-free license for the material
* as set forth in the LICENSE AGREEMNT file on this conference.
************************************************************************
*  (c) Copyright International Business Machines Corporation 1986, 1995.
*                      All Rights Reserved.
* No  service,  support  or  maintenance is  expressed  or  implied.  For
* additional information refer to the LICENSE agreement for this tool.
*
* XEDIT SCREEN MANAGEMENT SYSTEM WHICH BUILDS PFKEY MENUS FROM
* USER DEFINED MENU FILES AND PROFILES.
* For an absolutely basic screen panel using all the hard-coded defaults
* enter....    EXEC MENUSYS MASTER MENU * ( DEFAULTS
*              ( you get NO profiles at all )
* then begin to introduce profiles with....
*              EXEC MENUSYS MASTER MENU * ( NOPROFILE
*              ( you get the profile specified in line 10 of the
*                MASTER MENU file.... MASTER MENUPROF )
* then introduce the menusys system profile....
*              EXEC MENUSYS MASTER2 MENU *
*              ( you get the default system profile.... SYSPROF MENUPROF)
*      or....
*              EXEC MENUSYS MASTER MENU *
*              ( you get the default system profile.... SYSPROF MENUPROF
*                PLUS the profile specified in line 10 of the
*                MASTER MENU file.... MASTER MENUPROF )
* then introduce your own system profile....
*              EXEC MENUSYS MASTER2 MENU * ( PROFILE MYOWN
*              ( you get the specified system profile.... MYOWN MENUPROF)
*      or....
*              EXEC MENUSYS MASTER MENU * ( PROFILE MYOWN
*              ( you get the specified system profile.... MYOWN MENUPROF
*                PLUS the profile specified in line 10 of the
*                MASTER MENU file.... MASTER MENUPROF )
* NOTE  NOTE NOTE  - the  supplied  profiles will  almost certainly  need
* edited to your  particular requirements or to  reflect the availability
* or otherwise of other supporting packages.
*
*     THE BASIC MENU SYSTEM......
*
      MENUSYS  LICENSE  *  * License agreement
      MENUSYS  EXEC     *  * ONELINE VERSION OF MENUSYS EXEC
      MENUSYS  XEDIT    *  * ONELINE VERSION OF MENUSYS XEDIT
      MENUSYS  SOURCE   *  * SOURCE FOR MENUSYS EXEC
      MENUSYS  SOURCEX  *  * SOURCE FOR MENUSYS XEDIT
*                          * Source is PACKED via COPYFILE
*
*     THE OPTIONAL FEATURES......
*
      SYSPROF  MENUPROF *  * MENU SYSTEM PROFILE ( EVERY MENU ) ( Note 1 )
      MASTER   MENUPROF *  * MENU PROFILE        ( ONE MENU )   ( Note 2 )
      MASTER   MENU     *  * A MENU OF PFKEYS ( points to a profile )
      MASTER2  MENU     *  * A MENU OF PFKEYS ( no profile )
      $SYNTAX  HELPCMS  *  * USED BY MENUSYS XEDIT VIA HELPWIND
      MASTER   NEWSFILE *  * NEWS BROADCAST FILE
      MENUMSGS EXEC     *  * LIST THE MESSAGE LOG FILE
*                          * ( When MSGLOG = YES is coded )
*
      MENUSYS  BDF      *  * CMMOUSE BUTTON DEFINITION FILE
      MENUSYS  MMM      *  * CMMOUSE MENU FILE
*                          * ( For CMMOUSE users. Use ALMCOPY or similar
*                          * to download to your CMMOUSE directory. )
*
*
*     Note 1 - The WEEKNUM EXEC ( part of REMIND PACKAGE from VMTOOLS )
*              is required to support the coded SYSPROF MENUPROF.
*              Edit if required to remove this dependency.
*
*     Note 2 - The MONTH PACKAGE is required in order
*              to put a calendar on the screen under the control of
*              MASTER MENUPROF. Available from VMTOOLS.
*              Edit if required to remove this dependency.
*
*              The MENULIST PACKAGE is required in order
*              to display a list of menus under the control of
*              MASTER MENUPROF. Available from VMTOOLS.
*              Edit if required to remove this dependency.
*
*     The MEXAMPLE PACKAGE available from VMTOOLS gives more
*     SUPER TECHNICOLOUR examples of menu screens. Also shows how to mix
*     no-protect fields, into which you type input, with PFKeys.
*
* THE FOLLOWING ARE OPTIONAL.......
*
*     ENDCMD   PACKAGE            FROM VMTOOLS .. REQUIRED IF
*                                                 MSGTRAP = YES SPECIFIED
*                                              or ENDCMD  = YES SPECIFIED
*                                                 IN A PROFILE
*
*     MSGTRAP  PACKAGE            FROM VMTOOLS .. REQUIRED IF
*                                                 MSGTRAP = YES SPECIFIED
*                                                 IN A PROFILE
*
*     QUACC    PACKAGE            FROM VMTOOLS .. REQUIRED IF
*                                                 QACCESS = YES SPECIFIED
*                                                 IN A PROFILE
*
*     RXMATHFN PACKAGE            FROM VMTOOLS  (For calculator function,
*                                                not required if
*                                                CALC = NO specified )
*
*     USAGE    PACKAGE            FROM VMTOOLS  (If diskwarn is specified
*
*     HELPWIND PACKAGE            FROM VMTOOLS  (If using NEWS facility)
*
* SIGNIFICANT PERFORMANCE ADVANTAGES MAY BE REALISED BY THE FOLLOWING
* INCLUDED IN YOUR PROFILE EXEC......
*
* EXECLOAD MENUSYS EXEC *             .....SP4+ ONLY
* EXECLOAD MENUSYS XEDIT *                 SP4+ ONLY
*
* NEW RELEASES.....
*
* 25/Jul/89  1.0   Released to VMTOOLS.
* 28/Jul/89  1.1   MENUSYS EXEC - added DEFAULT as a possible frame
*                  colour.
* 12/Apr/90  1.2   Removed dependency on CALLER PACKAGE from VMTOOLS.
*                  Now uses standard CMS GLOBALV calls.
* 17/Apr/90  1.3   Warn user of a GLOBALV INIT.
* 17/Apr/90  1.4   Rebuild GLOBALV pointers after an INIT.
*                  Transparent to user other than screen blinking.
*                  Fixed a problem with FASTPATH display when some keys
*                  on screen were not allocated.
*                  Fixed a problem when key had a title but no action.
* 06/Jun/90  1.5   Removed comment on CALLER PACKAGE from MENUSYS SOURCE.
*                  Documentation change only, no change in function.
* 28/Jun/90  1.6   Very long PFKey titles could cause a program check.
*                  Now fixed.
* 29/Jun/90  1.7   Strip input string before passing to CMS. This fixed a
*                  problem with some ( badly written ) Rexx execs.
* 12/Jul/90  1.8   Fixed a filemode problem when linking a disk.
* 19/Feb/91  1.9   Allow any key to be a QUIT key via the PFKQUIT option.
*                  To set PFKey 3 as a QUIT key, in addition to PFKey 12,
*                  code PFKQUIT = 3 in your profile. In the menu file set
*                  the title for PFKey 3 to reflect whatever description
*                  is appropriate for an exit key. Leave the action field
*                  blank ( see EXAMPLE MENUPROF & EXAMPLE MENU for an
*                  example of setting PFKey 3 ).
* 08/Apr/91  1.10  Changle HACSLINK to RZLINK ( new European Corporate VM
*                  standard link tool ).
* 15/May/91  1.11  Removed RZLINK commands, substituted own internal code
*                  for linking disks.
* 23/May/91  1.12  Suppressed disk linkage messages.
* 10/Dec/91  1.13  Corrected a problem in disk linkage code.
* 01/Feb/93  1.14  Fixed call to 'TIME' function under ESA 1.1.
* 23/Mar/93  1.15  Added CMMOUSE support.
* 08/Jul/93  1.16  Added LICENSE file and copyright statements.
* 18/Aug/93  1.17  Changed WINDHELP call to be HELPWIND.
*                  HELPWIND PACKAGE now available from VMTOOLS.
* 09/Sep/93  1.18  BDF & MMM renamed to BDFBIN & MMMBIN.
*                  Added IDMSG to MSGINFO parameter.
*                  Added ability to HILIGHT LAST PFKEY pressed.
*                  Added ability to HILIGHT LAST PFKEY TITLE pressed.
*                  See MASTER MENUPROF for an example.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*    MASTER  MENUPROF
* Renamed....
*    MENUSYS BDF to BDFBIN
*    MENUSYS MMM to MMMBIN
* 25/Oct/93  1.19  Allow selection by cursor.
*                  Allow selection by marking a topic.
*                  Changed idmsg from IDENTIFY to CP QUERY USERID.
*                  Added sysidmsg which uses IDENTIFY.
*                  Added usage stats.
*                  Added NULLEXEC option.
* Changed....
*    MENUSYS SOURCE
*    MENUSYS EXEC
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*    MASTER  MENUPROF
* 18/Nov/93  1.20  Fixed usage stats.
*                  Added a synonym to allow immediate exit from all menu
*                  levels ( type END on command line ).
*                  Cursor tracks a PFKey action except when cursor is on
*                  the command line.
* Changed....
*    MENUSYS SOURCE
*    MENUSYS EXEC
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*    SYSPROF MENUPROF
*
* 07/Dec/93  1.21  Leave cursor on command line when it is already there.
*                  Quit immediately when quit key pressed.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*
* 05/Jan/94  1.22  Fix for command line on top of screen.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*
* 07/Feb/94  1.23  Fixed problem which occurred when BOTH a pfkey AND the
*                  command line were selected.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*
* 16/Feb/94  1.24  Renamed MMBIN to MMM and BDFBIN to BDF.
*
* 08/Jun/94  1.25  Ignore a blank in a selection line.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT
*
* 26/Aug/94  1.26  Position cursor properly after "news" window.
* Changed....
*    MENUSYS SOURCEX
*    MENUSYS XEDIT