Changeset 64473 in vbox
- Timestamp:
- Oct 28, 2016 3:31:29 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 111607
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/extensions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeView.cpp
r64470 r64473 29 29 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */ 30 30 31 32 /********************************************************************************************************************************* 33 * Class QITreeViewItem implementation. * 34 *********************************************************************************************************************************/ 35 36 QRect QITreeViewItem::rect() const 37 { 38 /* Redirect call to parent-tree: */ 39 return parentTree() ? parentTree()->visualRect(modelIndex()) : QRect(); 40 } 41 42 QModelIndex QITreeViewItem::modelIndex() const 43 { 44 /* Make sure it's not root model-index: */ 45 if ( parentTree()->rootIndex().internalPointer() 46 && parentTree()->rootIndex().internalPointer() == this) 47 return parentTree()->rootIndex(); 48 49 /* Determine our index inside parent: */ 50 int iIndexInParent = -1; 51 if (parentItem()) 52 { 53 for (int i = 0; i < parentItem()->childCount(); ++i) 54 if (parentItem()->childItem(i) == this) 55 { 56 iIndexInParent = i; 57 break; 58 } 59 } 60 else 61 { 62 for (int i = 0; i < parentTree()->childCount(); ++i) 63 if (parentTree()->childItem(i) == this) 64 { 65 iIndexInParent = i; 66 break; 67 } 68 } 69 if (iIndexInParent == -1) 70 return QModelIndex(); 71 72 /* Get parent model-index: */ 73 QModelIndex parentModelIndex = parentItem() ? parentItem()->modelIndex() : parentTree()->rootIndex(); 74 75 /* Return model-index as child of parent model-index: */ 76 return parentModelIndex.child(iIndexInParent, 0); 77 } 78 79 80 /********************************************************************************************************************************* 81 * Class QITreeView implementation. * 82 *********************************************************************************************************************************/ 31 83 32 84 QITreeView::QITreeView(QWidget *pParent) -
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeView.h
r64470 r64473 21 21 /* Qt includes: */ 22 22 #include <QTreeView> 23 24 /* Forward declarations: */ 25 class QITreeViewItem; 26 class QITreeView; 27 28 29 /** OObject subclass used as item for the QITreeView. */ 30 class QITreeViewItem : public QObject 31 { 32 Q_OBJECT; 33 34 public: 35 36 /** Constructs tree-view item for passed @a pParent. */ 37 QITreeViewItem(QITreeView *pParent) 38 : m_pParentTree(pParent) 39 , m_pParentItem(0) 40 {} 41 42 /** Constructs tree-view item for passed @a pParent. */ 43 QITreeViewItem(QITreeViewItem *pParentItem) 44 : m_pParentTree(pParentItem->parentTree()) 45 , m_pParentItem(pParentItem) 46 {} 47 48 /** Returns the parent tree-view. */ 49 QITreeView *parentTree() const { return m_pParentTree; } 50 /** Returns the parent tree-view item. */ 51 QITreeViewItem *parentItem() const { return m_pParentItem; } 52 53 /** Returns the number of children. */ 54 virtual int childCount() const = 0; 55 /** Returns the child item with @a iIndex. */ 56 virtual QITreeViewItem *childItem(int iIndex) const = 0; 57 58 /** Returns the item text. */ 59 virtual QString text() const = 0; 60 61 /** Returns the rectangle. */ 62 QRect rect() const; 63 64 private: 65 66 /** Returns the model-index: */ 67 QModelIndex modelIndex() const; 68 69 /** Holds the parent tree reference. */ 70 QITreeView *m_pParentTree; 71 /** Holds the parent item reference. */ 72 QITreeViewItem *m_pParentItem; 73 }; 23 74 24 75 … … 50 101 /** Constructs table-view passing @a pParent to the base-class. */ 51 102 QITreeView(QWidget *pParent = 0); 103 104 /** Returns the number of children. */ 105 virtual int childCount() const { return 0; } 106 /** Returns the child item with @a iIndex. */ 107 virtual QITreeViewItem *childItem(int /* iIndex */) const { return 0; } 52 108 53 109 /** Returns child rectangle. */
Note:
See TracChangeset
for help on using the changeset viewer.