layouts
[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.title = QLabel(self.main_screen.getTitleText(), self)
22         self.switch = QLabel(self.config_screen.getLinkText(), self)
23         self.switch.setAlignment(Qt.AlignRight)
24         
25         hlayout = QHBoxLayout()
26         hlayout.addWidget(self.title)
27         hlayout.addStretch()
28         hlayout.addWidget(self.switch)
29
30         layout = QVBoxLayout()
31         layout.addLayout(hlayout)
32         layout.addWidget(self.screens)
33         self.setLayout(layout)
34         self.resize(800, 600)
35
36         self.connect(self.switch, SIGNAL('linkActivated(QString)'),
37                      self.toScreen)
38
39     def toScreen(self, link):
40         if link == self.config_screen.name:
41             self.toConfigScreen()
42         elif link == self.main_screen.name:
43             self.toMainScreen()
44
45     def toConfigScreen(self):
46         self.screens.setCurrentWidget(self.config_screen)
47         self.switch.setText(self.main_screen.getLinkText())
48         self.title.setText(self.config_screen.getTitleText())
49
50     def toMainScreen(self):
51         self.screens.setCurrentWidget(self.main_screen)
52         self.switch.setText(self.config_screen.getLinkText())
53         self.title.setText(self.main_screen.getTitleText())
54
55         
56