layout
[sface.git] / sfaconfigscreen.py
1
2 from PyQt4.QtCore import SIGNAL, Qt
3 from PyQt4.QtGui import QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QSizePolicy
4
5 from sfadata import SfaData
6 from sfascreen import SfaScreen
7
8 class ConfigWidget(QWidget):
9     def __init__(self, parent=None):
10         QWidget.__init__(self, parent)
11
12         self.data = SfaData()
13
14         label1 = QLabel("User HRN:", self)
15         self.user = QLineEdit(self.data.getUser(), self)
16         label2 = QLabel("Slice HRN:", self)
17         self.slice = QLineEdit(self.data.getSlice(), self)
18         apply = QPushButton("Apply", self)
19         apply.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
20         
21         layout = QVBoxLayout()
22         layout.addWidget(label1)
23         layout.addWidget(self.user)
24         layout.addWidget(label2)
25         layout.addWidget(self.slice)
26         layout.addWidget(apply, 0, Qt.AlignRight)
27         self.setLayout(layout)
28
29         self.connect(apply, SIGNAL('clicked()'),
30                      self.apply)
31
32     def apply(self):
33         self.data.setUser("%s" % self.user.text())
34         self.data.setSlice("%s" % self.slice.text())
35         self.data.save_config()
36         
37
38 class SfaConfigScreen(SfaScreen):
39     def __init__(self, parent=None):
40         SfaScreen.__init__(self, parent)
41         
42         config = ConfigWidget(self)
43         self.init(config, "Configure", "Configure the PlanetLab Federation GUI")