From a4da9cccc2575c4bf299bde9594dad3e049ddf6a Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 5 May 2005 23:38:38 +0000 Subject: - split 2 (Screens) --- lib/python/Screens/Screen.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lib/python/Screens/Screen.py (limited to 'lib/python/Screens/Screen.py') diff --git a/lib/python/Screens/Screen.py b/lib/python/Screens/Screen.py new file mode 100644 index 00000000..ef9b2bb0 --- /dev/null +++ b/lib/python/Screens/Screen.py @@ -0,0 +1,37 @@ +from Components.HTMLSkin import * +from Components.GUISkin import * + +import sys + +class Screen(dict, HTMLSkin, GUISkin): + """ bla """ + + def __init__(self, session): + self.skinName = self.__class__.__name__ + self.session = session + GUISkin.__init__(self) + + def execBegin(self): +# assert self.session == None, "a screen can only exec one per time" +# self.session = session + for (name, val) in self.items(): + val.execBegin() + + def execEnd(self): + for (name, val) in self.items(): + val.execEnd() +# assert self.session != None, "execEnd on non-execing screen!" +# self.session = None + + # never call this directly - it will be called from the session! + def doClose(self): + GUISkin.close(self) + + del self.session + for (name, val) in self.items(): + print "%s -> %d" % (name, sys.getrefcount(val)) + del self[name] + + def close(self, retval=None): + self.session.close() + -- cgit v1.2.3