from sface.screens.configscreen import ConfigScreen
from sface.screens.mainscreen import MainScreen
+class Nav(QWidget):
+ def __init__(self, parent=None):
+ QWidget.__init__(self, parent)
+
+ self.title = QLabel("", self)
+ self.link = QLabel("", self)
+ self.link.setAlignment(Qt.AlignRight)
+
+ hlayout = QHBoxLayout()
+ hlayout.addWidget(self.title)
+ hlayout.addStretch()
+ hlayout.addWidget(self.link)
+ self.setLayout(hlayout)
+
+ def setTitle(self, title):
+ self.title.setText(title)
+
+ def setLink(self, link):
+ self.link.setText(link)
+
+
+class Status(QLabel):
+ def __init__(self, parent=None):
+ QLabel.__init__(self, "", parent)
+
+ def set(self, msg):
+ self.setText(msg)
+ QTimer.singleShot(3000, self, SLOT("clear()"))
+
+ def clear(self):
+ self.setText("")
+
class SfaWindow(QWidget):
-
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.screens.addWidget(self.main_screen)
self.screens.addWidget(self.config_screen)
- self.title = QLabel(self.main_screen.getTitleText(), self)
- self.switch = QLabel(self.config_screen.getLinkText(), self)
- self.switch.setAlignment(Qt.AlignRight)
-
- hlayout = QHBoxLayout()
- hlayout.addWidget(self.title)
- hlayout.addStretch()
- hlayout.addWidget(self.switch)
+ self.nav = Nav(self)
+ self.nav.setTitle(self.main_screen.getTitleText())
+ self.nav.setLink(self.config_screen.getLinkText())
+
+ self.status = Status(self)
layout = QVBoxLayout()
- layout.addLayout(hlayout)
+ layout.addWidget(self.nav)
layout.addWidget(self.screens)
+ layout.addWidget(self.status)
self.setLayout(layout)
self.resize(800, 600)
- self.connect(self.switch, SIGNAL('linkActivated(QString)'),
+ self.connect(self.nav.link, SIGNAL('linkActivated(QString)'),
self.toScreen)
def toScreen(self, link):
def toConfigScreen(self):
self.screens.setCurrentWidget(self.config_screen)
- self.switch.setText(self.main_screen.getLinkText())
- self.title.setText(self.config_screen.getTitleText())
+ self.nav.setLink(self.main_screen.getLinkText())
+ self.nav.setTitle(self.config_screen.getTitleText())
def toMainScreen(self):
self.screens.setCurrentWidget(self.main_screen)
- self.switch.setText(self.config_screen.getLinkText())
- self.title.setText(self.main_screen.getTitleText())
-
-
+ self.nav.setLink(self.config_screen.getLinkText())
+ self.nav.setTitle(self.main_screen.getTitleText())
+ def setStatus(self, msg):
+ self.status.set(msg)