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