{
    "header": {
        "version": 1,
        "type": "record"
    },
    "body": {
        "record1": {
            "<1>": "declare subroutine set_list_box_data, PlaceDialog\r\ndeclare function set_property, fieldcount\r\n$insert quote_spec_equ\r\n\r\nPlaceDialog(-2, -2)\r\n\r\nRecipeInfo = field( CreateParam, char(244), 1 )\r\n\r\nTitle   = field( CreateParam, char(244), 2 )\r\nCurTitle = get_property( @window, 'TEXT' )\r\nCurTitle:= ' ':Title\r\nVoid = set_property( @window, 'TEXT', CurTitle )\r\nNumLayers = fieldcount( RecipeInfo, char(248) )\r\nif NumLayers = 0 then\r\n    NumLayers = 1\r\nend\r\n.layer_desc->text = '1 of ':NumLayers\r\nFirstLayer    = field( RecipeInfo, char(248), 1 )\r\nVoid = set_property( @window, '@CurLayer', 1 )\r\nVoid = set_property( @window, '@RecipeInfo', RecipeInfo )\r\nVoid = set_property( @window, '@OrigRecipeInfo', RecipeInfo )\r\n\r\n* now load the RECIPE specific prompts\r\nControls = 'EPI_DOPANT/DEP_TIME_MIN/DEP_TIME_MAX/EPI_DILUENT/DOPANT_FLOW_MIN/DOPANT_FLOW_MAX/EDL_F_OFFSET_MIN/EDL_F_OFFSET_MAX/EDL_S_OFFSET_MIN/EDL_S_OFFSET_MAX/EDL_R_OFFSET_MIN/EDL_R_OFFSET_MAX/EDL_H2_FLOW_MIN/EDL_H2_FLOW_MAX/EDL_TCS_FLOW_MIN/EDL_TCS_FLOW_MAX'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@RecipeControls', Controls )\r\nRecipePromptCnt = fieldcount( Controls, @rm )\r\nVoid = set_property( @window, '@RecipePromptCnt', RecipePromptCnt )\r\nValueCnt = fieldcount( FirstLayer, @vm )\r\n* so set_property does not propagate\r\nif ValueCnt < RecipePromptCnt then\r\n   FirstLayer := str( @vm, RecipePromptCnt-ValueCnt )\r\nend\r\n* ok\r\nconvert @vm to @rm in FirstLayer\r\nVoid = set_property( Controls, 'INVALUE', FirstLayer )\r\n\r\nset_list_box_data( @window )\r\nRETURN 0"
        }
    }
}