- Timestamp:
- Jul 27, 2021 7:26:13 AM (4 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/extensions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp
r82968 r90350 438 438 } 439 439 440 QList<QTreeWidgetItem*> QITreeWidget::filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent /* = 0 */)440 QList<QTreeWidgetItem*> QITreeWidget::filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent /* = 0 */) 441 441 { 442 442 QList<QTreeWidgetItem*> filteredItemList; 443 if (!pParent) 444 filterItemsInternal(filter, invisibleRootItem(), filteredItemList); 445 else 446 filterItemsInternal(filter, pParent, filteredItemList); 443 filterItemsInternal(filter, pParent ? pParent : invisibleRootItem(), filteredItemList); 447 444 return filteredItemList; 448 445 } 449 446 450 void QITreeWidget::filterItemsInternal(const QITreeWidgetItemFilter &filter, 451 QTreeWidgetItem* pParent, QList<QTreeWidgetItem*> &filteredItemList) 447 void QITreeWidget::paintEvent(QPaintEvent *pEvent) 448 { 449 /* Create item painter: */ 450 QPainter painter; 451 painter.begin(viewport()); 452 453 /* Notify listeners about painting: */ 454 QTreeWidgetItemIterator it(this); 455 while (*it) 456 { 457 emit painted(*it, &painter); 458 ++it; 459 } 460 461 /* Close item painter: */ 462 painter.end(); 463 464 /* Call to base-class: */ 465 QTreeWidget::paintEvent(pEvent); 466 } 467 468 void QITreeWidget::resizeEvent(QResizeEvent *pEvent) 469 { 470 /* Call to base-class: */ 471 QTreeWidget::resizeEvent(pEvent); 472 473 /* Notify listeners about resizing: */ 474 emit resized(pEvent->size(), pEvent->oldSize()); 475 } 476 477 void QITreeWidget::filterItemsInternal(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent, 478 QList<QTreeWidgetItem*> &filteredItemList) 452 479 { 453 480 if (!pParent) … … 459 486 filterItemsInternal(filter, pParent->child(i), filteredItemList); 460 487 } 461 462 void QITreeWidget::paintEvent(QPaintEvent *pEvent)463 {464 /* Create item painter: */465 QPainter painter;466 painter.begin(viewport());467 468 /* Notify listeners about painting: */469 QTreeWidgetItemIterator it(this);470 while (*it)471 {472 emit painted(*it, &painter);473 ++it;474 }475 476 /* Close item painter: */477 painter.end();478 479 /* Call to base-class: */480 QTreeWidget::paintEvent(pEvent);481 }482 483 void QITreeWidget::resizeEvent(QResizeEvent *pEvent)484 {485 /* Call to base-class: */486 QTreeWidget::resizeEvent(pEvent);487 488 /* Notify listeners about resizing: */489 emit resized(pEvent->size(), pEvent->oldSize());490 } -
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h
r84350 r90350 32 32 class QITreeWidget; 33 33 34 /** A functor base to be passed to QITabWidget::filterItems(..). Overload operator()(..) to filter out35 *tree items. */34 /** A functor base to be passed to QITabWidget::filterItems(..). 35 * Overload operator()(..) to filter out tree items. */ 36 36 class SHARED_LIBRARY_STUFF QITreeWidgetItemFilter 37 37 { 38 38 public: 39 40 /** Destructs item filter. */ 39 41 virtual ~QITreeWidgetItemFilter() { /* Make VC++ 19.2 happy. */ } 42 43 /** Returns whether item can pass the filter. */ 40 44 virtual bool operator()(QTreeWidgetItem*) const 41 45 { … … 97 101 void resized(const QSize &size, const QSize &oldSize); 98 102 99 103 public: 100 104 101 105 /** Constructs tree-widget passing @a pParent to the base-class. */ … … 109 113 /** Returns the child item with @a iIndex. */ 110 114 QITreeWidgetItem *childItem(int iIndex) const; 115 /** Returns a model-index of @a pItem specified. */ 111 116 QModelIndex itemIndex(QTreeWidgetItem *pItem); 112 /** Recurses thru the subtree with a root pParent and returns a list of treeitems filtered by @a filter.113 * When @a pParent is null than QTreeWidget::invisibleRootItem() is used as the root item. */114 QList<QTreeWidgetItem*> filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent = 0);117 /** Recurses thru the subtree with a root @a pParent and returns a list of tree-items filtered by @a filter. 118 * When @a pParent is null then QTreeWidget::invisibleRootItem() is used as the root item. */ 119 QList<QTreeWidgetItem*> filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent = 0); 115 120 116 121 protected: … … 121 126 void resizeEvent(QResizeEvent *pEvent); 122 127 123 128 private: 124 129 125 /* Recurses thru the tree and append filtered items to @a filteredItemList. */ 126 void filterItemsInternal(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent, 130 /** Recurses thru the subtree with a root @a pParent and appends a 131 * list of tree-items filtered by @a filter to @a filteredItemList. */ 132 void filterItemsInternal(const QITreeWidgetItemFilter &filter, QTreeWidgetItem *pParent, 127 133 QList<QTreeWidgetItem*> &filteredItemList); 128 134 };
Note:
See TracChangeset
for help on using the changeset viewer.