from sface.screens.sfascreen import SfaScreen
+class RSpecView(QTreeView):
+ def __init__(self, parent):
+ QTreeView.__init__(self, parent)
+
+ self.setAnimated(True)
+ self.setItemsExpandable(True)
+ self.setRootIsDecorated(True)
+ self.setHeaderHidden(True)
+ self.setAttribute(Qt.WA_MacShowFocusRect, 0)
+ self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+
+
class DomModel(QAbstractItemModel):
def __init__(self, document, parent = 0):
QAbstractItemModel.__init__(self, parent)
return Qt.ItemIsEnabled | Qt.ItemIsSelectable
def headerData(self, section, orientation, role):
- if orientation == Qt.Horizontal and role == Qt.DisplayRole:
- if section == 0:
- return QString("Do I need an header?")
- else:
- return QVariant()
- else:
- return QVariant()
+ return QVariant()
def index(self, row, column, parent):
if not parent.isValid():
return self.rowNumber
+
class RSpecWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
+
+ self.view = RSpecView(self)
self.updateView()
+
def updateView(self):
document = QDomDocument("RSpec")
document.setContent(open(rspec_file,'r').read())
model = DomModel(document, self)
- view = QTreeView(self)
+ view = RSpecView(self)
view.setModel(model)
+# too slow!
+# view.expandAll()
layout = QVBoxLayout()
layout.addWidget(view)