E4Gui/E4TreeSortFilterProxyModel.py

changeset 55
b5c84934de9c
parent 54
31463df17fd5
child 56
3bd61d38c924
--- a/E4Gui/E4TreeSortFilterProxyModel.py	Tue Jan 12 18:39:15 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2009 - 2010 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a modified QSortFilterProxyModel.
-"""
-
-from PyQt4.QtCore import Qt, QModelIndex
-from PyQt4.QtGui import QSortFilterProxyModel
-
-class E4TreeSortFilterProxyModel(QSortFilterProxyModel):
-    """
-    Class implementing a modified QSortFilterProxyModel.
-   
-    It always accepts the root nodes in the tree so filtering is only done
-    on the children.
-    """
-    def __init__(self, parent = None):
-        """
-        Constructor
-        
-        @param parent reference to the parent object (QObject)
-        """
-        QSortFilterProxyModel.__init__(self, parent)
-        
-        self.setFilterCaseSensitivity(Qt.CaseInsensitive)
-    
-    def filterAcceptsRow(self, sourceRow, sourceParent):
-        """
-        Protected method to determine, if the row is acceptable.
-        
-        @param sourceRow row number in the source model (integer)
-        @param sourceParent index of the source item (QModelIndex)
-        @return flag indicating acceptance (boolean)
-        """
-        idx = self.sourceModel().index(sourceRow, 0, sourceParent)
-        if self.sourceModel().hasChildren(idx):
-            return True
-        
-        return QSortFilterProxyModel.filterAcceptsRow(self, sourceRow, sourceParent)
-    
-    def hasChildren(self, parent = QModelIndex()):
-        """
-        Public method to check, if a parent node has some children.
-        
-        @param parent index of the parent node (QModelIndex)
-        @return flag indicating the presence of children (boolean)
-        """
-        sindex = self.mapToSource(parent)
-        return self.sourceModel().hasChildren(sindex)

eric ide

mercurial