src/eric7/EricWidgets/EricTreeWidget.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9473
3f23dbf37dbe
diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/EricWidgets/EricTreeWidget.py
--- a/src/eric7/EricWidgets/EricTreeWidget.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/EricWidgets/EricTreeWidget.py	Wed Jul 13 14:55:47 2022 +0200
@@ -17,6 +17,7 @@
     """
     Class defining the items expansion state.
     """
+
     COLLAPSED = 0
     EXPANDED = 1
 
@@ -24,57 +25,58 @@
 class EricTreeWidget(QTreeWidget):
     """
     Class implementing an extended tree widget.
-    
+
     @signal itemControlClicked(QTreeWidgetItem) emitted after a Ctrl-Click
             on an item
     @signal itemMiddleButtonClicked(QTreeWidgetItem) emitted after a click
             of the middle button on an item
     """
+
     itemControlClicked = pyqtSignal(QTreeWidgetItem)
     itemMiddleButtonClicked = pyqtSignal(QTreeWidgetItem)
-    
+
     def __init__(self, parent=None):
         """
         Constructor
-        
+
         @param parent reference to the parent widget (QWidget)
         """
         super().__init__(parent)
-        
+
         self.__refreshAllItemsNeeded = True
         self.__allTreeItems = []
         self.__showMode = EricTreeWidgetItemsState.COLLAPSED
-        
+
         self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel)
-        
+
         self.itemChanged.connect(self.__scheduleRefresh)
-    
+
     def setDefaultItemShowMode(self, mode):
         """
         Public method to set the default item show mode.
-        
+
         @param mode default mode
         @type EricTreeWidgetItemsState
         """
         self.__showMode = mode
-    
+
     def allItems(self):
         """
         Public method to get a list of all items.
-        
+
         @return list of all items (list of QTreeWidgetItem)
         """
         if self.__refreshAllItemsNeeded:
             self.__allTreeItems = []
             self.__iterateAllItems(None)
             self.__refreshAllItemsNeeded = False
-        
+
         return self.__allTreeItems
-    
+
     def appendToParentItem(self, parent, item):
         """
         Public method to append an item to a parent item.
-        
+
         @param parent text of the parent item (string) or
             the parent item (QTreeWidgetItem)
         @param item item to be appended (QTreeWidgetItem)
@@ -84,7 +86,7 @@
         """
         if not isinstance(parent, (QTreeWidgetItem, str)):
             raise RuntimeError("illegal type for parent")
-        
+
         if isinstance(parent, QTreeWidgetItem):
             if parent is None or parent.treeWidget() != self:
                 return False
@@ -96,15 +98,15 @@
             parentItem = lst[0]
             if parentItem is None:
                 return False
-        
+
         self.__allTreeItems.append(item)
         parentItem.addChild(item)
         return True
-    
+
     def prependToParentItem(self, parent, item):
         """
         Public method to prepend an item to a parent item.
-        
+
         @param parent text of the parent item (string) or
             the parent item (QTreeWidgetItem)
         @param item item to be prepended (QTreeWidgetItem)
@@ -114,7 +116,7 @@
         """
         if not isinstance(parent, (QTreeWidgetItem, str)):
             raise RuntimeError("illegal type for parent")
-        
+
         if isinstance(parent, QTreeWidgetItem):
             if parent is None or parent.treeWidget() != self:
                 return False
@@ -126,82 +128,82 @@
             parentItem = lst[0]
             if parentItem is None:
                 return False
-        
+
         self.__allTreeItems.append(item)
         parentItem.insertChild(0, item)
         return True
-    
+
     def addTopLevelItem(self, item):
         """
         Public method to add a top level item.
-        
+
         @param item item to be added as a top level item (QTreeWidgetItem)
         """
         self.__allTreeItems.append(item)
         super().addTopLevelItem(item)
-    
+
     def addTopLevelItems(self, items):
         """
         Public method to add a list of top level items.
-        
+
         @param items items to be added as top level items
             (list of QTreeWidgetItem)
         """
         self.__allTreeItems.extend(items)
         super().addTopLevelItems(items)
-    
+
     def insertTopLevelItem(self, index, item):
         """
         Public method to insert a top level item.
-        
+
         @param index index for the insertion (integer)
         @param item item to be inserted as a top level item (QTreeWidgetItem)
         """
         self.__allTreeItems.append(item)
         super().insertTopLevelItem(index, item)
-    
+
     def insertTopLevelItems(self, index, items):
         """
         Public method to insert a list of top level items.
-        
+
         @param index index for the insertion (integer)
         @param items items to be inserted as top level items
             (list of QTreeWidgetItem)
         """
         self.__allTreeItems.extend(items)
         super().insertTopLevelItems(index, items)
-    
+
     def deleteItem(self, item):
         """
         Public method to delete an item.
-        
+
         @param item item to be deleted (QTreeWidgetItem)
         """
         if item in self.__allTreeItems:
             self.__allTreeItems.remove(item)
-        
+
         self.__refreshAllItemsNeeded = True
-        
+
         del item
-    
+
     def deleteItems(self, items):
         """
         Public method to delete a list of items.
-        
+
         @param items items to be deleted (list of QTreeWidgetItem)
         """
         for item in items:
             self.deleteItem(item)
-    
+
     def filterString(self, filterStr):
         """
         Public slot to set a new filter.
-        
+
         @param filterStr filter to be set (string)
         """
         self.expandAll()
         allItems = self.allItems()
-        
+
         if filterStr:
             lFilter = filterStr.lower()
             for itm in allItems:
@@ -209,21 +211,18 @@
                 itm.setExpanded(True)
             for index in range(self.topLevelItemCount()):
                 self.topLevelItem(index).setHidden(False)
-            
+
             firstItm = self.topLevelItem(0)
             belowItm = self.itemBelow(firstItm)
             topLvlIndex = 0
             while firstItm:
                 if lFilter in firstItm.text(0).lower():
                     firstItm.setHidden(False)
-                elif (
-                    not firstItm.parent() and
-                    (not belowItm or not belowItm.parent())
-                ):
+                elif not firstItm.parent() and (not belowItm or not belowItm.parent()):
                     firstItm.setHidden(True)
                 elif not belowItm:
                     break
-                
+
                 topLvlIndex += 1
                 firstItm = self.topLevelItem(topLvlIndex)
                 belowItm = self.itemBelow(firstItm)
@@ -234,51 +233,50 @@
                 self.topLevelItem(index).setHidden(False)
             if self.__showMode == EricTreeWidgetItemsState.COLLAPSED:
                 self.collapseAll()
-    
+
     def clear(self):
         """
         Public slot to clear the tree.
         """
         self.__allTreeItems = []
         super().clear()
-    
+
     def __scheduleRefresh(self):
         """
         Private slot to schedule a refresh of the tree.
         """
         self.__refreshAllItemsNeeded = True
-    
+
     def mousePressEvent(self, evt):
         """
         Protected method handling mouse press events.
-        
+
         @param evt mouse press event (QMouseEvent)
         """
         if (
-            evt.modifiers() == Qt.KeyboardModifier.ControlModifier and
-            evt.buttons() == Qt.MouseButton.LeftButton
+            evt.modifiers() == Qt.KeyboardModifier.ControlModifier
+            and evt.buttons() == Qt.MouseButton.LeftButton
         ):
             self.itemControlClicked.emit(self.itemAt(evt.position().toPoint()))
             return
         elif evt.buttons() == Qt.MouseButton.MiddleButton:
-            self.itemMiddleButtonClicked.emit(
-                self.itemAt(evt.position().toPoint()))
+            self.itemMiddleButtonClicked.emit(self.itemAt(evt.position().toPoint()))
             return
         else:
             super().mousePressEvent(evt)
-    
+
     def __iterateAllItems(self, parent):
         """
         Private method to iterate over the child items of the parent.
-        
+
         @param parent parent item to iterate (QTreeWidgetItem)
         """
         count = parent.childCount() if parent else self.topLevelItemCount()
-        
+
         for index in range(count):
             itm = parent.child(index) if parent else self.topLevelItem(index)
-            
+
             if itm.childCount() == 0:
                 self.__allTreeItems.append(itm)
-            
+
             self.__iterateAllItems(itm)

eric ide

mercurial