#!*****************************************************************************
#!*****************************************************************************
#TEMPLATE(SHANK_TPL, 'CUSTOM TEMPLATE OF SHANKAR'), FAMILY('ABC')
#!*****************************************************************************
#EXTENSION(ShankGenMenuQueue,'Generate Queue of MENU Options'),PROCEDURE
#!-----------------------------------------------------------------------------
#AT(%DataSectionAfterWindow), LAST
#!-----------------------------------------------------------------------------
FrameMenuQ QUEUE,PRE(FMQ)
MenuUse STRING(30)
MenuText STRING(60)
MenuFEQ LONG
MenuProc STRING(30)
END
#ENDAT
#!---------------------------------------------------------------------
#AT(%WindowManagerMethodCodeSection,'Init','(),BYTE'),PRIORITY( 8001 )
#!---------------------------------------------------------------------
DO BuildFrameMenuQ
#ENDAT
#!---------------------------------------------------------------------
#AT(%ProcedureRoutines)
#!---------------------------------------------------------------------
BuildFrameMenuQ ROUTINE
FREE(FrameMenuQ)
#FOR(%Control),WHERE(%ControlType='ITEM' AND %Control <> '' AND NOT EXTRACT(%ControlStatement,'SEPARATOR'))
CLEAR(FrameMenuQ)
FMQ:MenuUse = '%Control'
FMQ:MenuFEQ = %Control
FMQ:MenuText = %Control{PROP:Text}
FMQ:MenuProc = '%ButtonProcedure'
ADD(FrameMenuQ, FMQ:MenuUse)
IF ERRORCODE() THEN MESSAGE('FrameMenuQ : ' & ERROR()).
#ENDFOR
#ENDAT
#!*****************************************************************************