11 lines
3.9 KiB
JSON
11 lines
3.9 KiB
JSON
{
|
|
"header": {
|
|
"version": 1,
|
|
"type": "record"
|
|
},
|
|
"body": {
|
|
"record1": {
|
|
"<1>": "declare subroutine set_list_box_data\r\ndeclare function set_property, fieldcount, center_window\r\n$insert quote_spec_equ\r\n$insert lsl_common\r\n\r\nif index( CreateParam, 'CENTER', 1 ) then\r\n Void = center_window( @window )\r\nend else\r\n Void = set_property( @window, 'VISIBLE', 1 )\r\nend\r\nDetailLine = field( CreateParam, char(244), 1 )\r\n.quote_detail_line->array = DetailLine\r\nSubstrateInfo = field( CreateParam, char(244), 2 )\r\nAllEpiInfo = field( CreateParam, char(244), 3 )\r\nEpiInfo = field( AllEpiInfo, char(245), 1 )\r\nOtherEpiInfo = field( AllEpiInfo, char(245), 2 )\r\nconvert @svm to @fm in EpiInfo ;* for the conc mv mess\r\nif EpiInfo = '' then \r\n EpiInfo = @fm:@rm:@fm; * for conc mess\r\nend\r\nNumLayers = fieldcount( EpiInfo, char(247) )\r\nButText = .same_reactor_button->text\r\nButText := ' 1'\r\n.same_reactor_button->text = ButText\r\n.sep_reactor_layer_desc->text = '1 of ':NumLayers\r\nFirstLayer = field( EpiInfo, char(247), 1 )\r\nFirstLayer = field( FirstLayer, char(248), 1 )\r\nVoid = set_property( @window, '@CurSepLayer', 1 )\r\nVoid = set_property( @window, '@EpiInfo', EpiInfo )\r\nVoid = set_property( @window, '@OrigEpiInfo', EpiInfo )\r\n\r\n* first load the substrate specific prompts\r\nControls = 'SUB_ORIENTATION/SUB_TYPE/SUB_WAFERSIZE/SUB_RESISTIVITY/SUB_REST_UNITS/'\r\nControls:= 'SUB_DOPANT/SUB_PRE_CLEAN/SUB_BL1_DOPANT/SUB_BL2_DOPANT/'\r\nControls:= 'SUB_OXIDE/SUB_POST_CLEAN/SUB_RADIAL_GRADIENT_RES/'\r\nControls:= 'SUB_CARBON/SUB_DIS_DENSITY/SUB_INSTRUCTIONS/SUB_OTHER_SPECS/'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@SubControls', Controls )\r\nSubPromptCnt = fieldcount( Controls, @rm )\r\n* so set_property does not propagate\r\nValueCnt = fieldcount( SubstrateInfo, @vm )\r\nif ValueCnt < SubPromptCnt then\r\n SubstrateInfo := str( @vm, SubPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nVoid = set_property( @window, '@OrigSubstrateInfo', SubstrateInfo )\r\nconvert @vm to @rm in SubstrateInfo\r\nVoid = set_property( Controls, 'INVALUE', SubstrateInfo )\r\n\r\n* now load the EPI specific prompts\r\nControls = 'EPI_CONC_MIN_THICK/EPI_CONC_MAX_THICK/EPI_CONC_UNITS/'\r\nControls:= 'EPI_RES_MIN_THICK/EPI_RES_MAX_THICK/EPI_RES_UNITS/EPI_MIN_THICK/'\r\nControls:= 'EPI_MAX_THICK/EPI_THICK_UNITS/EPI_DOPANT/EPI_RECIPE/EPI_RECIPE_NAME'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@EpiControls', Controls )\r\nEpiPromptCnt = fieldcount( Controls, @rm )\r\nVoid = set_property( @window, '@EpiPromptCnt', EpiPromptCnt )\r\nValueCnt = fieldcount( FirstLayer, @vm )\r\n* so set_property does not propagate\r\nif ValueCnt < EpiPromptCnt then\r\n FirstLayer := str( @vm, EpiPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nconvert @vm to @rm in FirstLayer\r\nVoid = set_property( Controls, 'LIST':@rm:'LIST':@rm:'INVALUE', FirstLayer )\r\n*\r\n* now load the other EPI specific prompts\r\nControls = 'OEPI_THICKMEASURE/OEPI_RESMEASURE/'\r\nControls:= 'OEPI_THICK_TOL/OEPI_THICK_WWTOL/OEPI_RES_TOL/OEPI_RES_WWTOL/'\r\nControls:= 'OEPI_DOP_TRANS/OEPI_LPDEF/OEPI_SLIP/OEPI_STACK_FAULTS/'\r\nControls:= 'OEPI_STRESS/OEPI_EDGE_CROWN/OEPI_M_CONTAM'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@OtherEpiControls', Controls )\r\nOEpiPromptCnt = fieldcount( Controls, @rm )\r\nValueCnt = fieldcount( OtherEpiInfo, @vm )\r\n* so set_property does not propagate\r\nif ValueCnt < OEpiPromptCnt then\r\n OtherEpiInfo := str( @vm, OEpiPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nVoid = set_property( @window, '@OrigOtherEpiInfo', OtherEpiInfo )\r\nconvert @vm to @rm in OtherEpiInfo\r\nVoid = set_property( Controls, 'INVALUE', OtherEpiInfo )\r\n\r\nset_list_box_data( @window )\r\nRETURN 0"
|
|
}
|
|
}
|
|
} |