py_ext/PythonFileCTNMixin.py
branchsvghmi
changeset 3063 466c3df67835
parent 2992 d48ad9c3ec91
child 3070 013374b6cdb9
equal deleted inserted replaced
3058:6ea4b7e1a9ed 3063:466c3df67835
   109         # location string for that CTN
   109         # location string for that CTN
   110         location_str = "_".join(map(str, self.GetCurrentLocation()))
   110         location_str = "_".join(map(str, self.GetCurrentLocation()))
   111         configname = self.GetCTRoot().GetProjectConfigNames()[0]
   111         configname = self.GetCTRoot().GetProjectConfigNames()[0]
   112 
   112 
   113         def _onchangecode(var):
   113         def _onchangecode(var):
   114             return var.getonchange() + "('" + var.getname() + "')"
   114             return [onchangecall.strip() + "('" + var.getname() + "')"
       
   115                     for onchangecall in var.getonchange().split(',')]
   115 
   116 
   116         def _onchange(var):
   117         def _onchange(var):
   117             return repr(var.getonchange()) \
   118             return repr(var.getonchange()) \
   118                 if var.getonchange() else None
   119                 if var.getonchange() else None
   119 
   120 
   157 
   158 
   158         on_change_func_body = "\n".join(["""
   159         on_change_func_body = "\n".join(["""
   159     if changes.next():
   160     if changes.next():
   160         # %(name)s
   161         # %(name)s
   161         try:
   162         try:
   162             %(onchangecode)s
   163 """ % varinfo + """ 
       
   164             """ + """
       
   165             """.join(varinfo['onchangecode'])+"""
   163         except Exception as e:
   166         except Exception as e:
   164             errors.append("%(name)s: "+str(e))
   167             errors.append("%(name)s: "+str(e))
   165 """ % varinfo for varinfo in varinfos if varinfo["onchange"]])
   168 """ % varinfo for varinfo in varinfos if varinfo["onchange"]])
   166         # Runtime calls (start, stop, init, and cleanup)
   169         # Runtime calls (start, stop, init, and cleanup)
   167         rtcalls = ""
   170         rtcalls = ""