func isTplAnd(pid) fvar(id, res) res = 0 id = cgt.pt_get_parent(cgt.pt_get_link_point(pid)) if(cgt.el_get_class_name(id) = "If_else") if(cgt.pt_get_rlink_point(cgt.get_point_id(onFalse)) = cgt.pt_get_rlink_point(cgt.el_get_point_name(id, "onFalse"))) res = 1 end end return(res) end func doCompare(data) fvar(id, op, od, pid, ok) fvar(ife) ife=0 id = cgt.pt_get_parent(cgt.pt_get_link_point(cgt.get_point_id('doCompare'))) if(cgt.el_get_class_name(id) = "If_else" and cgt.pt_get_name_byid(cgt.pt_get_link_point(cgt.get_point_id('doCompare')))='onFalse') ife=1 end op = Op1 if(isdef(Type) and isnset(Op2) and isdef(Op2)) od = op else od = op && ' ' && Type && ' ' && Op2 end if(linked(onTrue)) if(isTplAnd(cgt.get_point_id(onTrue))) if(isTplAnd(cgt.pt_arr_work(0))) print('(', od, ') And ') else print('If((', od, ') And ') end event(onTrue, isndef(OutData) ? "" : _data) ok = 1 end end if(ok != 1) if(isTplAnd(cgt.pt_arr_work(0))) println('(', od, ')) Then') ok = 1 end if(ok != 1) println('If ', od, ' Then') end block.inclvl() od = isndef(OutData) ? "" : _data_ event(onTrue, od) block.declvl() if(linked(onFalse)) id = cgt.pt_get_parent(cgt.pt_get_link_point(cgt.get_point_id(onFalse))) if(cgt.el_get_class_name(id) = "If_else") print('Else') event(onFalse, od) else println('Else') block.inclvl() event(onFalse, od) block.declvl() end end if(ife=0) println('End If') end end func Result return('(' && Op1 && ' ' && Type && ' ' && Op2 && ')') end