expanding all items is too slow
[sface.git] / sface / screens / rspecscreen.py
index 5b324f3..fcaa2bf 100644 (file)
@@ -9,6 +9,18 @@ from sface.config import config
 from sface.screens.sfascreen import SfaScreen
 
 
 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)
 class DomModel(QAbstractItemModel):
     def __init__(self, document, parent = 0):
         QAbstractItemModel.__init__(self, parent)
@@ -77,13 +89,7 @@ class DomModel(QAbstractItemModel):
         return Qt.ItemIsEnabled | Qt.ItemIsSelectable
         
     def headerData(self, section, orientation, role):
         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():
 
     def index(self, row, column, parent):
         if not parent.isValid():
@@ -155,6 +161,7 @@ class DomItem:
         return self.rowNumber
     
 
         return self.rowNumber
     
 
+
 class RSpecWidget(QWidget):
     def __init__(self, parent=None):
         QWidget.__init__(self, parent)
 class RSpecWidget(QWidget):
     def __init__(self, parent=None):
         QWidget.__init__(self, parent)
@@ -169,8 +176,10 @@ class RSpecWidget(QWidget):
         document.setContent(open(rspec_file,'r').read())
         model = DomModel(document, self)
 
         document.setContent(open(rspec_file,'r').read())
         model = DomModel(document, self)
 
-        view = QTreeView(self)
+        view = RSpecView(self)
         view.setModel(model)
         view.setModel(model)
+# too slow!
+#        view.expandAll()
 
         layout = QVBoxLayout()
         layout.addWidget(view)
 
         layout = QVBoxLayout()
         layout.addWidget(view)