APPX Software Library

GUI: Widgets, Pictures and Menus

How to add pulldown menu entries with ILF

Here is a sample menu structure to create:

Daily
-- Transactions
----- Enter Transactions
----- Print Journal
Monthly
-- Postings
----- Balancing Report
----- Post Transactions

To create this, enter the following in pre-display:
*
*        Restore and set defaults for creating CHILD widget records
*
   RESTORE  --- WIDGET                     DEFAULT RECORD
   SET      --- WIDGET PARENT TYPE         =      CHILD
   SET      --- WIDGET POSITION ROW        =      0
   SET      --- WIDGET POSITION COLUMN     =
*
*        Create the "Daily" top level pulldown
*
   SET      --- WIDGET LABEL               =      Daily
   SET      --- WIDGET GROUP NAME          =
   SET      --- WIDGET OPTION              =      USER 1
   SET      --- WIDGET SHORTCUT            =      D
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Transactions" pullout menu and attach to "Daily"
*
   SET      --- WIDGET LABEL               =      Transactions
   SET      --- WIDGET GROUP NAME          =      Daily
   SET      --- WIDGET OPTION              =      USER 2
   SET      --- WIDGET SHORTCUT            =      T
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*     Create the "Enter Transactions" item and attach to "Transacti.."
*
   SET      --- WIDGET LABEL               =      Enter Transactions
   SET      --- WIDGET GROUP NAME          =      Transactions
   SET      --- WIDGET OPTION              =      USER 3
   SET      --- WIDGET SHORTCUT            =      E
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Print Journal" item and attach to "Transactions"
*
   SET      --- WIDGET LABEL               =      Print Journal
   SET      --- WIDGET GROUP NAME          =      Transactions
   SET      --- WIDGET OPTION              =      USER 4
   SET      --- WIDGET SHORTCUT            =      P
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Monthly" top level pulldown
*
   SET      --- WIDGET LABEL               =      Monthly
   SET      --- WIDGET GROUP NAME          =
   SET      --- WIDGET OPTION              =      USER 11
   SET      --- WIDGET SHORTCUT            =      M
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Postings" pullout menu and attach to "Monthly"
*
   SET      --- WIDGET LABEL               =      Postings
   SET      --- WIDGET GROUP NAME          =      Monthly
   SET      --- WIDGET OPTION              =      USER 12
   SET      --- WIDGET SHORTCUT            =      P
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Balancing Report" item and attach to "Postings"
*
   SET      --- WIDGET LABEL               =      Balancing Report
   SET      --- WIDGET GROUP NAME          =      Postings
   SET      --- WIDGET OPTION              =      USER 12
   SET      --- WIDGET SHORTCUT            =      B
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
*        Create the "Post Transactions" item and attach to "Postings"
*
   SET      --- WIDGET LABEL               =      Post Transactions
   SET      --- WIDGET GROUP NAME          =      Postings
   SET      --- WIDGET OPTION              =      USER 14
   SET      --- WIDGET SHORTCUT            =      P
   SET      --- WIDGET ADD TO MENU         =      Y
   GOSUB        :WRITE CHILD WIDGET
*
END
*
*        Write WIDGET and increment POSITION ROW to create unique keys
*
   LABEL    :WRITE CHILD WIDGET
   WRITE    --- WIDGET                 FAIL 0
-  COMPUTE  --- WIDGET POSITION ROW        +      1
F  GOTO     :WRITE CHILD WIDGET
   RETURN