func init() if(linked(Result)) lng.decl_loc_var(res, 'QString') end end func doBuild(_data) fvar(s, r, p, pname, i, t) s = Mask i = pos("%", s) r = 'QString()'@str while(i) p = copy(s,1,i-1) if(p) r &&= '.append(' && p && ')' end delete(s,1,i) t = pos("%",s) pname = copy(s,1,t-1) if(!cgt.get_point_id(pname)) error("Point " + pname + " not found") end r &&= '.append(' && e_str(point(pname)) && ')' delete(s,1,t) i = pos("%", s) end if(s) r &&= '.append(' && s && ')' end if(linked(Result)) println(res, ' = ', r, ';') event(onBuild, res) else event(onBuild, r) end end func Result() return(res) end