diff -r 75ae893d5eed -r a1f9e514f708 plugins/canfestival/canfestival.py --- a/plugins/canfestival/canfestival.py Mon Aug 20 14:28:08 2007 +0200 +++ b/plugins/canfestival/canfestival.py Tue Aug 21 17:21:26 2007 +0200 @@ -1,16 +1,65 @@ +import os from nodelist import NodeList from nodemanager import NodeManager import config_utils, gen_cfile +from networkedit import networkedit -class _Beremiz_CanFestival_Controller(NodeList): - def __init__(self, buspath, bus_id): - self.bus_id = bus_id +class _NetworkEditPlugg(networkedit): + def OnCloseFrame(self, event): + self.OnPluggClose() + event.Skip() + +class BusController(NodeList): + XSD = """ + + + + + + + + """ + + ViewClass = _NetworkEditPlugg + + def __init__(self, buspath): manager = NodeManager() NodeList.__init__(self, manager) self.LoadProject(buspath) - def SaveBus(self): + def TestModified(self): + return self.HasChanged() + + def ReqSave(self): self.SaveProject() + return True + + def Generate_C(self, dirpath, locations): + """ + return C code for network dictionnary + """ + filepath = os.path.join(dirpath, "master.c") + master = config_utils.GenerateConciseDCF(locations, self) + res = gen_cfile.GenerateFile(filepath, master) + if not res: + s = str(self.BaseParams.BusId)+"_IN(){}\n" + s += "CanOpen(str(\""+self.CanFestivalNode.CAN_Device)+"\")" + f = file(filepath, 'a') + f.write(s) + else: + pass # error + return {"headers":["master.h"],"sources":["master.c"]} + +class PluginController: + XSD = """ + + + + + + + + """ def Generate_C(self, filepath, locations): """ @@ -19,14 +68,10 @@ master = config_utils.GenerateConciseDCF(locations, self) res = gen_cfile.GenerateFile(filepath, master) if not res: - s = str(self.bus_id)+"_IN(){}\n" + s = str(self.BaseParams.BusId)+"_IN(){}\n" + s += "CanOpen(str(\""+self.CanFestivalNode.CAN_Device)+"\")" f = file(filepath, 'a') f.write(s) else: pass # error -def BlockListFactory(bmz_inst): - return [] - -def ControllerFactory(): - return _Beremiz_CanFestival_Controller() \ No newline at end of file