# HG changeset patch # User Edouard Tisserant # Date 1337435656 -7200 # Node ID c4b0f117e106d71871bf12ea45ee5a522b53ccca # Parent 4fc681ed0c612e78b67a797283e6913916a70fa3 Added reference to CTR in libraries diff -r 4fc681ed0c61 -r c4b0f117e106 POULibrary.py --- a/POULibrary.py Sat May 19 12:41:48 2012 +0200 +++ b/POULibrary.py Sat May 19 15:54:16 2012 +0200 @@ -1,7 +1,9 @@ from PLCControler import PLCControler +from weakref import ref class POULibrary: - def __init__(self, LibName, TypeStack): + def __init__(self, CTR, LibName, TypeStack): + self.CTR = ref(CTR) self.LibName = LibName self.LibraryControler = PLCControler() self.LibraryControler.OpenXMLFile(self.GetLibraryPath()) @@ -16,6 +18,9 @@ def GetName(self): return self.LibName + + def GetCTR(self): + return self.CTR() def GetTypes(self): return {"name" : self.GetName(), "types": self.LibraryControler.Project} diff -r 4fc681ed0c61 -r c4b0f117e106 ProjectController.py --- a/ProjectController.py Sat May 19 12:41:48 2012 +0200 +++ b/ProjectController.py Sat May 19 15:54:16 2012 +0200 @@ -114,7 +114,7 @@ TypeStack=[] for libname,clsname in features.libraries: if self.BeremizRoot.Libraries is None or getattr(self.BeremizRoot.Libraries, "Enable_"+libname+"_Library"): - Lib = GetClassImporter(clsname)()(libname, TypeStack) + Lib = GetClassImporter(clsname)()(self, libname, TypeStack) TypeStack.append(Lib.GetTypes()) self.Libraries.append(Lib)