func init() fvar(e) var(s) e = cgt.el_get_child_id(0) UNITS &= e sys.selectElement(e) sys.initall() sys.selectElement(cgt.el_get_parent_id()) s = code(cgt.el_get_class_name(e) + cgt.el_get_code_name(e)) fvar(old) lng.decl_priv_var(obj_arr, 'QList<' + s + '*>*') lng.decl_priv_var(unit, s + '*') old = block.select(BLK_INIT) println(obj_arr, ' = new QList<' + s + '*>();') println(unit, ' = new ' + s + '(this, ' + obj_arr + ');') block.select(old) end func doWork(_data, index) fvar(nm, dt) nm = code(cgt.pt_get_name_byid(cgt.pt_arr_work(index))) dt = _data println('for(QList<' + s + '*>::iterator i = ' + obj_arr + '->begin(); i != ' + obj_arr + '->end(); ++i) {') block.inclvl() println('(*i)->' + nm + '(', dt, ');') block.declvl() println('}') sys.event(cgt.el_get_child_id(0), 'parent_work', nm, dt) end func children_work(name, _data) fvar(td, tn, body, dt) td = lng.get_type(_data) tn = code(lng.get_type_name(td)) body = name + code(_id_) + '(' if(tn) body += tn + ' data' dt = 'data' sub(dt, td) else dt = '' end body += ')' lng.begin_func(body) event(name, dt) lng.end_func(BLK_PUB) end func children_var(name, _data) fvar(td, tn, body, dt, ret, td2, tn2) td = lng.get_type(_data) tn = code(lng.get_type_name(td)) body = name + code(_id_) + '(' if(tn) body += tn + ' data, ' dt = 'data' sub(dt, td) else dt = '' end body += '%type% *_data_)' lng.begin_func(body) ret = event(name, dt) td2 = lng.get_type(ret) tn2 = code(lng.get_type_name(td2)) replace(_fname_, '%type%', tn2) println('*_data_ = ' , ret, ';') lng.end_func(BLK_PUB) return(ret) end