Files
open-insight/LSL2/OIEVENT/CLICK/PROD_SPEC_SI2.NEXT_LAYER_BUTTON.json
2024-03-25 15:12:53 -07:00

11 lines
2.6 KiB
JSON

{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "declare function fieldcount, msg, prod_spec_comm\r\n$insert msg_equates\r\n$insert logical\r\n\r\n* VALIDATE THE DOPANTS\r\nVoid = set_property( @window, '@LayerOn', get_property( @window, '@CurSameLayer' ) + 1 )\r\nValid = prod_spec_comm( \"VALIDATE_DOPANT\" )\r\nif Valid else\r\n return 0\r\nend\r\n\r\nEpiPromptCnt = get_property( @window, '@EpiPromptCnt' )\r\nEpiControls = get_property( @window, '@EpiControls' )\r\nEpiDataOnWindow = get_property( EpiControls, 'LIST':@rm:'LIST':@rm:'INVALUE' )\r\nconvert @rm to @vm in EpiDataOnWindow\r\nif EpiDataOnWindow = @fm:@vm:@fm:str( @vm, EpiPromptCnt-2 ) then\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'You cannot have a blank same reactor layer...'\r\n MsgInfo<micon$> = 'H'\r\n Void = msg( '', MsgInfo )\r\n return 0\r\nend else\r\n\tCurSameLayerNo = get_property( @window, '@CurSameLayer' )\r\n\tAllSameLayers = get_property( @window, '@EpiInfo' )\r\n\tAllSameLayers = fieldstore( AllSameLayers, char(248), CurSameLayerNo, 1, EpiDataOnWindow )\r\n\tVoid = set_property( @window, '@EpiInfo', AllSameLayers )\r\n\tCurSameLayerNo += 1\r\n\tVoid = set_property( @window, '@CurSameLayer', CurSameLayerNo )\r\n\t* now display the next same reactor layer\r\n\tNextLayerData = field( AllSameLayers, char(248), CurSameLayerNo )\r\n\t*\r\n\tValueCnt = fieldcount( NextLayerData, @vm )\r\n\t* so set_property does not propagate\r\n\tif ValueCnt < EpiPromptCnt then\r\n\t NextLayerData := str( @vm, EpiPromptCnt-ValueCnt-1 )\r\n\tend\r\n\t* ok\r\n\tNewLayer = false$\r\n\tif NextLayerData = str( @vm, EpiPromptCnt-1 ) then\r\n\t * add the @fms for the conc\r\n\t NextLayerData<1,1> = @fm\r\n\t NextLayerData<2,2> = @fm\r\n\t NewLayer = true$\r\n\tend\r\n\tconvert @vm to @rm in NextLayerData\r\n\tVoid = set_property( EpiControls, 'LIST':@rm:'LIST':@rm:'INVALUE', NextLayerData )\r\n\t.epi_conc_min_thick->selpos = 1:@fm:1\r\n\t.epi_conc_max_thick->selpos = 1:@fm:1\t\r\n\tNumLayers = fieldcount( AllSameLayers, char(248) ) + NewLayer\r\n ButText = .same_reactor_button->text\r\n convert '123456789' to '' in ButText\r\n ButText = trim( ButText )\r\n ButText := ' ':CurSameLayerNo\r\n .same_reactor_button->text = ButText\r\n .same_reactor_layer_desc->text = CurSameLayerNo:' of ':NumLayers\r\n* void = post_event( @window:'.EPI_MIN_THICK', 'GOTFOCUS', '' )\r\n* would need the above line if epi_min_thick had gotfocus event\r\n void = set_property( @window:'.EPI_MIN_THICK', 'FOCUS', 1 ) \r\nend\r\nRETURN 0"
}
}
}