Improve modules hierarchy.
[sface.git] / sface / sfawindow.py
diff --git a/sface/sfawindow.py b/sface/sfawindow.py
new file mode 100644 (file)
index 0000000..7cb18bb
--- /dev/null
@@ -0,0 +1,48 @@
+
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
+from sface.screens.configscreen import ConfigScreen
+from sface.screens.mainscreen import MainScreen
+
+
+class SfaWindow(QWidget):
+    
+    def __init__(self, parent=None):
+        QWidget.__init__(self, parent)
+
+        self.config_screen = ConfigScreen(self)
+        self.main_screen = MainScreen(self)
+
+        self.screens = QStackedWidget(self)
+        self.screens.addWidget(self.main_screen)
+        self.screens.addWidget(self.config_screen)
+
+        self.switch = QLabel(self.config_screen.getLabelText(), self)
+        self.switch.setAlignment(Qt.AlignRight)
+        
+        layout = QVBoxLayout()
+        layout.addWidget(self.switch)
+        layout.addWidget(self.screens)
+        self.setLayout(layout)
+        self.adjustSize()
+
+        self.connect(self.switch, SIGNAL('linkActivated(QString)'),
+                     self.toScreen)
+
+    def toScreen(self, link):
+        if link == self.config_screen.name:
+            self.toConfigScreen()
+        elif link == self.main_screen.name:
+            self.toMainScreen()
+
+    def toConfigScreen(self):
+        self.screens.setCurrentWidget(self.config_screen)
+        self.switch.setText(self.main_screen.getLabelText())
+
+    def toMainScreen(self):
+        self.screens.setCurrentWidget(self.main_screen)
+        self.switch.setText(self.config_screen.getLabelText())
+
+        
+