horizontal layout for slice and refresh labels
[sface.git] / sface / sfawindow.py
1
2 from PyQt4.QtCore import *
3 from PyQt4.QtGui import *
4
5 from sface.screens.configscreen import ConfigScreen
6 from sface.screens.mainscreen import MainScreen
7
8
9 class SfaWindow(QWidget):
10     
11     def __init__(self, parent=None):
12         QWidget.__init__(self, parent)
13
14         self.config_screen = ConfigScreen(self)
15         self.main_screen = MainScreen(self)
16
17         self.screens = QStackedWidget(self)
18         self.screens.addWidget(self.main_screen)
19         self.screens.addWidget(self.config_screen)
20
21         self.switch = QLabel(self.config_screen.getLabelText(), self)
22         self.switch.setAlignment(Qt.AlignRight)
23         
24         layout = QVBoxLayout()
25         layout.addWidget(self.switch)
26         layout.addWidget(self.screens)
27         self.setLayout(layout)
28         self.adjustSize()
29
30         self.connect(self.switch, SIGNAL('linkActivated(QString)'),
31                      self.toScreen)
32
33     def toScreen(self, link):
34         if link == self.config_screen.name:
35             self.toConfigScreen()
36         elif link == self.main_screen.name:
37             self.toMainScreen()
38
39     def toConfigScreen(self):
40         self.screens.setCurrentWidget(self.config_screen)
41         self.switch.setText(self.main_screen.getLabelText())
42
43     def toMainScreen(self):
44         self.screens.setCurrentWidget(self.main_screen)
45         self.switch.setText(self.config_screen.getLabelText())
46
47         
48