X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fscreens%2Fsfascreen.py;h=9ee0aa0d084d55486781113428c3b04f44d1e6b9;hp=3271f2d6676a4ea093d111cc67d26d1a6c424a44;hb=HEAD;hpb=69b247b9b7075f35257193dbb7df919ce6befa9e diff --git a/sface/screens/sfascreen.py b/sface/screens/sfascreen.py index 3271f2d..9ee0aa0 100644 --- a/sface/screens/sfascreen.py +++ b/sface/screens/sfascreen.py @@ -4,11 +4,17 @@ from PyQt4.QtCore import * from PyQt4.QtGui import * class SfaScreen(QWidget): + instances = [] + def __init__(self, parent): + SfaScreen.instances.append(self) QWidget.__init__(self, parent) self.mainwin = parent self.name = self.title = self.widget = None + def __del__(self): + SfaScreen.instances.remove(self) + def init(self, widget, name, title): if self.widget: sys.stderr.write("Screen is already initialized\n") @@ -23,10 +29,30 @@ class SfaScreen(QWidget): self.setLayout(layout) def getLinkText(self): - return "Go to %s" % (self.name, self.name) + return "%s" % (self.name, self.name) def getTitleText(self): return "%s" % self.title - def setStatus(self, msg): - self.mainwin.setStatus(msg) + def setStatus(self, msg, timeout): + self.mainwin.setStatus(msg, timeout) + + def signalAll(self, action, *args): + results=[] + for i in SfaScreen.instances: + method = getattr(i, action, None) + if method: + results.append(method(*args)) + return results + + def rspecUpdated(self): + pass + + def configurationChanged(self): + pass + + def canClose(self): + return True + + def mainWindowClose(self): + pass