From fe9d09d2042b839a76fc04a5510f6b88592f2235 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Wed, 8 Sep 2010 18:25:53 +0200 Subject: [PATCH] add nodeview and nodemodel --- sfadata.py | 2 +- sfamainscreen.py | 35 +++++++++++++++++++++++++++++++++-- sfawindow.py | 1 - 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/sfadata.py b/sfadata.py index 040a0ba..43de038 100644 --- a/sfadata.py +++ b/sfadata.py @@ -22,7 +22,7 @@ def process(command): arguments << QString(c) process = QProcess() process.start(SFI_CMD, arguments) - process.waitForFinished() + process.waitForFinished( 200000 ) print process.readAll() diff --git a/sfamainscreen.py b/sfamainscreen.py index 3d1f1ef..5e7bbb8 100644 --- a/sfamainscreen.py +++ b/sfamainscreen.py @@ -1,5 +1,6 @@ -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 @@ -8,11 +9,41 @@ 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") diff --git a/sfawindow.py b/sfawindow.py index 0344324..726a75a 100644 --- a/sfawindow.py +++ b/sfawindow.py @@ -33,7 +33,6 @@ class SfaWindow(QWidget): self.toScreen) def toScreen(self, link): - print link if link == self.config_screen.name: self.toConfigScreen() elif link == self.main_screen.name: -- 2.43.0