func init() lng.begin_unit(0, '', 'QGLWidget', 1) block.select(BLK_INIT) sys.initall() block.select(BLK_INC) println('#include ') block.select(BLK_BINC) println('#include "' + _CUR_CLASS + '.h"') lng.end_unit() end func parent_work(name, _data) lng.switch_to(0) fvar(tn, dt, td, body) dt = _data td = lng.get_type(dt) tn = lng.get_type_name(td) if(tn) body = name + '(' + tn + ' data)' dt = 'data' sub(dt, td) else body = name + '()' dt = '' end lng.begin_func(body) event(name, dt) lng.end_func(BLK_PUB) lng.switch_return() end func doWork(_data, index) lng.switch_to(1) fvar(dt, p, e) e = cgt.el_get_parent_id() p = code(cgt.pt_get_name_byid(cgt.pt_arr_work(index))) dt = _data println('((' + CUR_CLASS + '*)parent())->', p, code(cgt.el_get_code_name(e)) + '(', dt, ');') sys.event(e, 'children_work', p, dt) lng.switch_return() end func GetVar(_data, index) lng.switch_to(1) fvar(dt, p, e, ret, td, tn) e = cgt.el_get_parent_id() p = code(cgt.pt_get_name_byid(cgt.pt_arr_var(index))) dt = _data ret = sys.event(e, 'children_var', p, dt) td = lng.get_type(ret) tn = lng.get_type_name(td) ret = _rdata_ println(tn + ' ' + _rdata_ + ';') println('((' + CUR_CLASS + '*)parent())->', p, code(cgt.el_get_code_name(e)) + '(', lng.get_type(dt) ? (dt + ',') : '', '&' + _rdata_ + ');') lng.switch_return() sub(ret, td) return(ret) end