etisserant@12: import os lbessard@11: from nodelist import NodeList lbessard@11: from nodemanager import NodeManager lbessard@11: import config_utils, gen_cfile etisserant@12: from networkedit import networkedit lbessard@11: etisserant@12: class _NetworkEditPlugg(networkedit): etisserant@12: def OnCloseFrame(self, event): etisserant@12: self.OnPluggClose() etisserant@12: event.Skip() etisserant@12: etisserant@12: class BusController(NodeList): etisserant@12: XSD = """ etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: """ etisserant@12: etisserant@12: ViewClass = _NetworkEditPlugg etisserant@12: etisserant@12: def __init__(self, buspath): lbessard@11: manager = NodeManager() lbessard@11: NodeList.__init__(self, manager) lbessard@11: self.LoadProject(buspath) lbessard@11: etisserant@12: def TestModified(self): etisserant@12: return self.HasChanged() etisserant@12: etisserant@12: def ReqSave(self): lbessard@11: self.SaveProject() etisserant@12: return True etisserant@12: etisserant@12: def Generate_C(self, dirpath, locations): etisserant@12: """ etisserant@12: return C code for network dictionnary etisserant@12: """ etisserant@12: filepath = os.path.join(dirpath, "master.c") etisserant@12: master = config_utils.GenerateConciseDCF(locations, self) etisserant@12: res = gen_cfile.GenerateFile(filepath, master) etisserant@12: if not res: etisserant@12: s = str(self.BaseParams.BusId)+"_IN(){}\n" etisserant@12: s += "CanOpen(str(\""+self.CanFestivalNode.CAN_Device)+"\")" etisserant@12: f = file(filepath, 'a') etisserant@12: f.write(s) etisserant@12: else: etisserant@12: pass # error etisserant@12: return {"headers":["master.h"],"sources":["master.c"]} etisserant@12: etisserant@12: class PluginController: etisserant@12: XSD = """ etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: etisserant@12: """ lbessard@11: lbessard@11: def Generate_C(self, filepath, locations): lbessard@11: """ lbessard@11: return C code for network dictionnary lbessard@11: """ lbessard@11: master = config_utils.GenerateConciseDCF(locations, self) lbessard@11: res = gen_cfile.GenerateFile(filepath, master) lbessard@11: if not res: etisserant@12: s = str(self.BaseParams.BusId)+"_IN(){}\n" etisserant@12: s += "CanOpen(str(\""+self.CanFestivalNode.CAN_Device)+"\")" lbessard@11: f = file(filepath, 'a') lbessard@11: f.write(s) lbessard@11: else: lbessard@11: pass # error lbessard@11: