2 from PyQt4.QtCore import Qt, QString
3 from PyQt4.QtGui import QWidget, QLabel, QTreeView, QStandardItemModel, QVBoxLayout
5 from sfadata import SfaData
6 from sfascreen import SfaScreen
9 class SliceWidget(QWidget):
10 def __init__(self, parent=None):
11 QWidget.__init__(self, parent)
13 self.nodeView = QTreeView(self)
14 self.nodeView.setRootIsDecorated(False)
15 self.nodeView.setAlternatingRowColors(True)
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"))
21 self.nodeView.setModel(self.nodeModel)
23 layout = QVBoxLayout()
24 layout.addWidget(self.nodeView)
25 self.setLayout(layout)
31 rspec = data.getRSpecFromSM()
32 nodes = rspec.get_node_list()
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))
44 class SfaMainScreen(SfaScreen):
45 def __init__(self, parent=None):
46 SfaScreen.__init__(self, parent)
48 slice = SliceWidget(self)
49 self.init(slice, "Main Window", "PlanetLab Federation GUI")