- Timestamp:
- Jan 25, 2019 9:45:52 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128418
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/extensions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp
r76996 r76997 438 438 } 439 439 440 QList<QTreeWidgetItem*> QITreeWidget::filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent /* = 0 */) 441 { 442 QList<QTreeWidgetItem*> filteredItemList; 443 if (!pParent) 444 filterItemsInternal(filter, invisibleRootItem(), filteredItemList); 445 else 446 filterItemsInternal(filter, pParent, filteredItemList); 447 return filteredItemList; 448 } 449 450 void QITreeWidget::filterItemsInternal(const QITreeWidgetItemFilter &filter, 451 QTreeWidgetItem* pParent, QList<QTreeWidgetItem*> &filteredItemList) 452 { 453 if (!pParent) 454 return; 455 if (filter(pParent)) 456 filteredItemList.append(pParent); 457 458 for (int i = 0; i < pParent->childCount(); ++i) 459 filterItemsInternal(filter, pParent->child(i), filteredItemList); 460 } 461 440 462 void QITreeWidget::paintEvent(QPaintEvent *pEvent) 441 463 { -
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h
r76996 r76997 32 32 class QITreeWidget; 33 33 34 /** A functor base to be passed to QITabWidget::filterItems(..). Overload operator()(..) to filter out 35 * tree items. */ 36 class SHARED_LIBRARY_STUFF QITreeWidgetItemFilter 37 { 38 public: 39 virtual bool operator()(QTreeWidgetItem*) const 40 { 41 return true; 42 } 43 }; 34 44 35 45 /** QTreeWidgetItem subclass extending standard functionality. */ … … 99 109 QITreeWidgetItem *childItem(int iIndex) const; 100 110 QModelIndex itemIndex(QTreeWidgetItem *pItem); 111 /** Recurses thru the subtree with a root pParent and returns a list of tree items filtered by @a filter. 112 * When @a pParent is null than QTreeWidget::invisibleRootItem() is used as the root item. */ 113 QList<QTreeWidgetItem*> filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent = 0); 101 114 102 115 protected: … … 106 119 /** Handles resize @a pEvent. */ 107 120 void resizeEvent(QResizeEvent *pEvent); 121 122 private: 123 124 /* Recurses thru the tree and append filtered items to @a filteredItemList. */ 125 void filterItemsInternal(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent, 126 QList<QTreeWidgetItem*> &filteredItemList); 108 127 }; 109 128
Note:
See TracChangeset
for help on using the changeset viewer.