5e7bbb88f8352c22cd36b0bfafe6dd3eb29ab518
[sface.git] / sfamainscreen.py
1
2 from PyQt4.QtCore import Qt, QString
3 from PyQt4.QtGui import QWidget, QLabel, QTreeView, QStandardItemModel, QVBoxLayout
4
5 from sfadata import SfaData
6 from sfascreen import SfaScreen
7
8
9 class SliceWidget(QWidget):
10     def __init__(self, parent=None):
11         QWidget.__init__(self, parent)
12
13         self.nodeView = QTreeView(self)
14         self.nodeView.setRootIsDecorated(False)
15         self.nodeView.setAlternatingRowColors(True)
16
17         self.nodeModel = QStandardItemModel(0, 2, self)
18         self.nodeModel.setHeaderData(0, Qt.Horizontal, QString("Testbed"))
19         self.nodeModel.setHeaderData(1, Qt.Horizontal, QString("Hostname"))
20
21         self.nodeView.setModel(self.nodeModel)
22
23         layout = QVBoxLayout()
24         layout.addWidget(self.nodeView)
25         self.setLayout(layout)
26         
27         self.refresh()
28
29     def refresh(self):
30         data = SfaData()
31         rspec = data.getRSpecFromSM()
32         nodes = rspec.get_node_list()
33         
34         for n in nodes:
35             print n
36
37     def addNode(self, testbed, hostname):
38         self.nodeModel.insertRow(0)
39         self.nodeModel.setData(self.nodeModel.index(0,0), QString(testbed))
40         self.nodeModel.setData(self.nodeModel.index(0,1), QString(hostname))
41
42
43
44 class SfaMainScreen(SfaScreen):
45     def __init__(self, parent=None):
46         SfaScreen.__init__(self, parent)
47
48         slice = SliceWidget(self)
49         self.init(slice, "Main Window", "PlanetLab Federation GUI")