from PyQt4.QtCore import Qt, QString from PyQt4.QtGui import QWidget, QLabel, QTreeView, QStandardItemModel, QVBoxLayout from sfadata import SfaData from sfascreen import SfaScreen class SliceWidget(QWidget): def __init__(self, parent=None): QWidget.__init__(self, parent) self.nodeView = QTreeView(self) self.nodeView.setRootIsDecorated(False) self.nodeView.setAlternatingRowColors(True) self.nodeModel = QStandardItemModel(0, 2, self) self.nodeModel.setHeaderData(0, Qt.Horizontal, QString("Testbed")) self.nodeModel.setHeaderData(1, Qt.Horizontal, QString("Hostname")) self.nodeView.setModel(self.nodeModel) layout = QVBoxLayout() layout.addWidget(self.nodeView) self.setLayout(layout) self.refresh() def refresh(self): data = SfaData() rspec = data.getRSpecFromSM() nodes = rspec.get_node_list() for n in nodes: print n def addNode(self, testbed, hostname): self.nodeModel.insertRow(0) self.nodeModel.setData(self.nodeModel.index(0,0), QString(testbed)) self.nodeModel.setData(self.nodeModel.index(0,1), QString(hostname)) class SfaMainScreen(SfaScreen): def __init__(self, parent=None): SfaScreen.__init__(self, parent) slice = SliceWidget(self) self.init(slice, "Main Window", "PlanetLab Federation GUI")