add a global status widget
[sface.git] / sface / screens / mainscreen.py
index 9b834fa..15f0ed0 100644 (file)
@@ -11,7 +11,7 @@ from sface.screens.sfascreen import SfaScreen
 
 
 class SliceWidget(QWidget):
-    def __init__(self, parent=None):
+    def __init__(self, parent):
         QWidget.__init__(self, parent)
 
         self.nodeView = QTreeView(self)
@@ -31,8 +31,6 @@ class SliceWidget(QWidget):
         slicename = QLabel ("Slice : %s"%(config.getSlice() or "None"),self)
         slicename.setScaledContents(False)
 
-        self.status = QLabel("")
-
         hlayout = QHBoxLayout()
         hlayout.addWidget(slicename)
         hlayout.addStretch()
@@ -41,7 +39,6 @@ class SliceWidget(QWidget):
         layout = QVBoxLayout()
         layout.addLayout(hlayout)
         layout.addWidget(self.nodeView)
-        layout.addWidget(self.status)
         self.setLayout(layout)
         self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
 
@@ -58,18 +55,18 @@ class SliceWidget(QWidget):
 
     def refresh(self, link=None):
         if not config.getSlice():
-            self.status.setText("Slice not set yet!")
+            self.parent().setStatus("<font color='red'>Slice not set yet!</font>")
             return
 
         self.process = SfiProcess()
         outfile = self.process.getRSpecFromSM()
-        self.status.setText("Updating slice data. This may take some time...")
+        self.parent().setStatus("Updating slice data. This may take some time...")
         
         self.connect(self.process, SIGNAL('finished()'), self.refreshFinished)
 
     def refreshFinished(self):
         del self.process
-        self.status.setText("Slice data updated.")
+        self.parent().setStatus("<font color='green'>Slice data updated.</font>")
         self.updateView()
 
     def updateView(self):
@@ -104,9 +101,8 @@ class SliceWidget(QWidget):
 
 
 class MainScreen(SfaScreen):
-    def __init__(self, parent=None):
+    def __init__(self, parent):
         SfaScreen.__init__(self, parent)
 
         slice = SliceWidget(self)
         self.init(slice, "Main Window", "PlanetLab Federation GUI")
-#        slice.refresh()