-from PyQt4.QtGui import QWidget, QLabel
+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)
- label = QLabel("slice widget", self)
+
+ 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")