Changeset 12183 in vbox for trunk/src/VBox
- Timestamp:
- Sep 7, 2008 2:35:53 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 36154
- Location:
- trunk/src/VBox/Debugger
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Debugger/Makefile.kmk
r12182 r12183 135 135 VBoxDbg_QT_MOCHDRS = \ 136 136 VBoxDbgGui.h \ 137 VBoxDbgConsole.h 138 #VBoxDbgStats.h137 VBoxDbgConsole.h \ 138 VBoxDbgStats.h 139 139 VBoxDbg_SOURCES = \ 140 140 VBoxDbg.cpp \ 141 141 VBoxDbgGui.cpp \ 142 142 VBoxDbgBase.cpp \ 143 VBoxDbgConsole.cpp 144 #VBoxDbgStats.cpp143 VBoxDbgConsole.cpp \ 144 VBoxDbgStats.cpp 145 145 VBoxDbg_LIBS = \ 146 146 $(LIB_VMM) -
trunk/src/VBox/Debugger/VBoxDbgBase.cpp
r9269 r12183 52 52 } 53 53 54 int VBoxDbgBase::stamReset(const char *pszPat)54 int VBoxDbgBase::stamReset(const QString &rPat) 55 55 { 56 #ifdef VBOXDBG_USE_QT4 57 QByteArray Utf8Array = rPat.toUtf8(); 58 const char *pszPat = !rPat.isEmpty() ? Utf8Array.constData() : NULL; 59 #else 60 const char *pszPat = !rPat.isEmpty() ? rPat : NULL; 61 #endif 56 62 if (m_pVM) 57 63 return STAMR3Reset(m_pVM, pszPat); … … 59 65 } 60 66 61 int VBoxDbgBase::stamEnum(const char *pszPat, PFNSTAMR3ENUM pfnEnum, void *pvUser)67 int VBoxDbgBase::stamEnum(const QString &rPat, PFNSTAMR3ENUM pfnEnum, void *pvUser) 62 68 { 69 #ifdef VBOXDBG_USE_QT4 70 QByteArray Utf8Array = rPat.toUtf8(); 71 const char *pszPat = !rPat.isEmpty() ? Utf8Array.constData() : NULL; 72 #else 73 const char *pszPat = !rPat.isEmpty() ? rPat : NULL; 74 #endif 63 75 if (m_pVM) 64 76 return STAMR3Enum(m_pVM, pszPat, pfnEnum, pvUser); -
trunk/src/VBox/Debugger/VBoxDbgBase.h
r9269 r12183 29 29 #include <VBox/dbg.h> 30 30 #include <iprt/thread.h> 31 #ifdef VBOXDBG_USE_QT4 32 # include <QString> 33 #else 34 # include <qstring.h> 35 #endif 31 36 32 37 … … 78 83 * Wrapper for STAMR3Reset(). 79 84 */ 80 int stamReset(const char *pszPat);85 int stamReset(const QString &rPat); 81 86 /** 82 87 * Wrapper for STAMR3Enum(). 83 88 */ 84 int stamEnum(const char *pszPat, PFNSTAMR3ENUM pfnEnum, void *pvUser);89 int stamEnum(const QString &rPat, PFNSTAMR3ENUM pfnEnum, void *pvUser); 85 90 /** 86 91 * Wrapper for DBGCCreate(). -
trunk/src/VBox/Debugger/VBoxDbgGui.cpp
r12180 r12183 137 137 int VBoxDbgGui::showStatistics() 138 138 { 139 #ifndef VBOXDBG_USE_QT4140 139 if (!m_pDbgStats) 141 140 { 141 #ifdef VBOXDBG_USE_QT4 142 m_pDbgStats = new VBoxDbgStats(m_pVM, "*x*"); /// @todo the QTreeWidget/QTreeView sucks big time. it freezes the app for 30+ seconds. Need to write a new item model I fear. 'ing crap!!! 143 #else 142 144 m_pDbgStats = new VBoxDbgStats(m_pVM); 145 #endif 143 146 connect(m_pDbgStats, SIGNAL(destroyed(QObject *)), this, SLOT(notifyChildDestroyed(QObject *))); 144 147 repositionStatistics(); 145 148 } 146 149 m_pDbgStats->show(); 147 #endif148 150 return VINF_SUCCESS; 149 151 } … … 151 153 void VBoxDbgGui::repositionStatistics(bool fResize/* = true*/) 152 154 { 153 #ifndef VBOXDBG_USE_QT4154 155 if (m_pDbgStats) 155 156 { … … 160 161 resizeWidget(m_pDbgStats, m_cxDesktop - m_cx - m_x + m_xDesktop, m_cyDesktop - m_y + m_yDesktop); 161 162 } 162 #endif163 163 } 164 164 -
trunk/src/VBox/Debugger/VBoxDbgStats.cpp
r9269 r12183 26 26 #define LOG_GROUP LOG_GROUP_DBGG 27 27 #include "VBoxDbgStats.h" 28 #include <qlocale.h> 29 #include <qpushbutton.h> 30 #include <qspinbox.h> 31 #include <qlabel.h> 32 #include <qclipboard.h> 33 #include <qapplication.h> 28 #ifdef VBOXDBG_USE_QT4 29 # include <QLocale> 30 # include <QPushButton> 31 # include <QSpinBox> 32 # include <QLabel> 33 # include <QClipboard> 34 # include <QApplication> 35 # include <QHBoxLayout> 36 # include <QVBoxLayout> 37 #else 38 # include <qlocale.h> 39 # include <qpushbutton.h> 40 # include <qspinbox.h> 41 # include <qlabel.h> 42 # include <qclipboard.h> 43 # include <qapplication.h> 44 #endif 34 45 35 46 #include <VBox/err.h> … … 39 50 40 51 52 #include <stdio.h> //remove me 41 53 42 54 … … 67 79 68 80 VBoxDbgStatsItem::VBoxDbgStatsItem(const char *pszName, VBoxDbgStatsItem *pParent, bool fBranch /*= true*/) 69 : QListViewItem(pParent, QString(getNodeName(pszName))), m_pszName(RTStrDup(pszName)), m_fBranch(fBranch), m_pParent(pParent) 81 #ifdef VBOXDBG_USE_QT4 82 : QTreeWidgetItem(pParent, QStringList(QString(getNodeName(pszName)))), 83 #else 84 : QListViewItem(pParent, QString(getNodeName(pszName))), 85 #endif 86 m_pszName(RTStrDup(pszName)), m_fBranch(fBranch), m_pParent(pParent) 70 87 71 88 { … … 73 90 74 91 VBoxDbgStatsItem::VBoxDbgStatsItem(const char *pszName, QListView *pParent, bool fBranch/* = true*/) 75 : QListViewItem(pParent, QString(getNodeName(pszName))), m_pszName(RTStrDup(pszName)), m_fBranch(fBranch), m_pParent(NULL) 76 92 #ifdef VBOXDBG_USE_QT4 93 : QTreeWidgetItem(pParent, QStringList(QString(getNodeName(pszName)))), 94 #else 95 : QListViewItem(pParent, QString(getNodeName(pszName))), 96 #endif 97 m_pszName(RTStrDup(pszName)), m_fBranch(fBranch), m_pParent(NULL) 77 98 { 78 99 } … … 87 108 { 88 109 /* Iterate and print our children. */ 89 QListViewItem *pItem; 90 for (pItem = firstChild(); pItem; pItem = pItem->nextSibling()) 110 #ifdef VBOXDBG_USE_QT4 111 int cChildren = childCount(); 112 for (int i = 0; i < cChildren; i++) 113 { 114 VBoxDbgStatsItem *pMyItem = (VBoxDbgStatsItem *)child(i); 115 pMyItem->logTree(fReleaseLog); 116 } 117 #else 118 for (QListViewItem *pItem = firstChild(); pItem; pItem = pItem->nextSibling()) 91 119 { 92 120 VBoxDbgStatsItem *pMyItem = (VBoxDbgStatsItem *)pItem; 93 121 pMyItem->logTree(fReleaseLog); 94 122 } 123 #endif 95 124 } 96 125 … … 98 127 { 99 128 /* Iterate and stringify our children. */ 100 QListViewItem *pItem; 101 for (pItem = firstChild(); pItem; pItem = pItem->nextSibling()) 129 #ifdef VBOXDBG_USE_QT4 130 int cChildren = childCount(); 131 for (int i = 0; i < cChildren; i++) 132 { 133 VBoxDbgStatsItem *pMyItem = (VBoxDbgStatsItem *)child(i); 134 pMyItem->stringifyTree(String); 135 } 136 #else 137 for (QListViewItem *pItem = firstChild(); pItem; pItem = pItem->nextSibling()) 102 138 { 103 139 VBoxDbgStatsItem *pMyItem = (VBoxDbgStatsItem *)pItem; 104 140 pMyItem->stringifyTree(String); 105 141 } 142 #endif 106 143 } 107 144 … … 594 631 * Generic printing. 595 632 */ 633 #ifdef VBOXDBG_USE_QT4 634 if (!isHidden()) 635 { 636 QByteArray aColumns[9]; 637 const char *apszColumns[9]; 638 for (int i = 0; RT_ELEMENTS(aColumns); i++) 639 { 640 aColumns[i] = text(i).toUtf8(); 641 apszColumns[i] = aColumns[i].constData(); 642 } 643 644 if (fReleaseLog) 645 RTLogRelPrintf("%-50s %-10s %18s %18s %18s %18s %16s %s\n", 646 getName(), apszColumns[1], apszColumns[2], apszColumns[3], 647 apszColumns[4], apszColumns[5], apszColumns[7], apszColumns[8]); 648 else 649 RTLogPrintf("%-50s %-10s %18s %18s %18s %18s %16s %s\n", 650 getName(), apszColumns[1], apszColumns[2], apszColumns[3], 651 apszColumns[4], apszColumns[5], apszColumns[7], apszColumns[8]); 652 } 653 #else 596 654 if (isVisible()) 597 655 { … … 605 663 (const char *)text(4), (const char *)text(5), (const char *)text(7), (const char *)text(8)); 606 664 } 665 #endif 607 666 608 667 /* … … 617 676 * Generic printing. 618 677 */ 678 #ifdef VBOXDBG_USE_QT4 679 if (!isHidden()) 680 { 681 QByteArray aColumns[9]; 682 const char *apszColumns[9]; 683 for (int i = 0; RT_ELEMENTS(aColumns); i++) 684 { 685 aColumns[i] = text(i).toUtf8(); 686 apszColumns[i] = aColumns[i].constData(); 687 } 688 689 QString ItemString; 690 ItemString.sprintf("%-50s %-10s %18s %18s %18s %18s %16s %s\n", 691 getName(), apszColumns[1], apszColumns[2], apszColumns[3], 692 apszColumns[4], apszColumns[5], apszColumns[7], apszColumns[8]); 693 String += ItemString; 694 } 695 #else 619 696 if (isVisible()) 620 697 { … … 625 702 String += ItemString; 626 703 } 704 #endif 627 705 628 706 /* … … 646 724 647 725 648 VBoxDbgStatsView::VBoxDbgStatsView(PVM pVM, VBoxDbgStats *pParent/* = NULL*/, const char *pszName/* = NULL*/, WFlags f/* = 0*/) 649 : QListView(pParent, pszName, f), VBoxDbgBase(pVM), 726 VBoxDbgStatsView::VBoxDbgStatsView(PVM pVM, VBoxDbgStats *pParent/* = NULL*/) 727 : QListView(pParent), 728 VBoxDbgBase(pVM), 650 729 m_pParent(pParent), m_pHead(NULL), m_pTail(NULL), m_pCur(NULL), m_pRoot(NULL), 651 730 m_pLeafMenu(NULL), m_pBranchMenu(NULL), m_pViewMenu(NULL), m_pContextMenuItem(NULL) … … 655 734 * Create the columns. 656 735 */ 736 #ifdef VBOXDBG_USE_QT4 737 setColumnCount(9); 738 QStringList Headers; 739 setHeaderLabels(Headers << "Name" << "Unit" << "Value/Times" << "Min" << "Average" << "Max" << "Total" << "dInt" << "Description"); 740 setItemsExpandable(true); 741 setSortingEnabled(true); 742 743 #else 657 744 addColumn("Name"); // 0 658 745 addColumn("Unit"); // 1 … … 674 761 Assert(i == 8); 675 762 setShowSortIndicator(true); 763 #endif 676 764 677 765 /* … … 680 768 setRootIsDecorated(true); 681 769 m_pRoot = new VBoxDbgStatsItem("/", this); 770 #ifdef VBOXDBG_USE_QT4 771 m_pRoot->setExpanded(true); 772 #else 682 773 m_pRoot->setOpen(true); 774 #endif 683 775 684 776 /* 685 777 * We've got three menus to populate and link up. 686 778 */ 779 #ifdef VBOXDBG_USE_QT4 780 /** @todo */ 781 782 #else /* QT3 */ 687 783 m_pLeafMenu = new QPopupMenu(this); 688 784 m_pLeafMenu->insertItem("Rese&t", eReset); … … 715 811 connect(this, SIGNAL(contextMenuRequested(QListViewItem *, const QPoint &, int)), this, 716 812 SLOT(contextMenuReq(QListViewItem *, const QPoint &, int))); 813 #endif /* QT3 */ 717 814 } 718 815 … … 742 839 static void hideParentBranches(VBoxDbgStatsLeafItem *pItem) 743 840 { 841 #ifdef VBOXDBG_USE_QT4 842 /// @todo 843 NOREF(pItem); 844 #else 744 845 for (VBoxDbgStatsItem *pParent = pItem->getParent(); pParent; pParent = pParent->getParent()) 745 846 { … … 751 852 pParent->setVisible(false); 752 853 } 854 #endif 753 855 } 754 856 … … 766 868 m_pCur = m_pHead; 767 869 m_PatStr = rPatStr; 768 int rc = stamEnum(m_PatStr .isEmpty() ? NULL : m_PatStr, updateCallback, this);870 int rc = stamEnum(m_PatStr, updateCallback, this); 769 871 if (VBOX_SUCCESS(rc)) 770 872 { … … 782 884 void VBoxDbgStatsView::reset(const QString &rPatStr) 783 885 { 784 stamReset(rPatStr .isEmpty() ? NULL : rPatStr);886 stamReset(rPatStr); 785 887 } 786 888 787 889 static void setOpenTree(QListViewItem *pItem, bool f) 788 890 { 891 #ifdef VBOXDBG_USE_QT4 892 pItem->setExpanded(f); 893 int cChildren = pItem->childCount(); 894 for (int i = 0; i < cChildren; i++) 895 pItem->child(i)->setExpanded(f); 896 #else 789 897 pItem->setOpen(f); 790 898 for (pItem = pItem->firstChild(); pItem; pItem = pItem->nextSibling()) 791 899 setOpenTree(pItem, f); 792 } 793 900 #endif 901 } 902 903 #ifndef VBOXDBG_USE_QT4 794 904 void VBoxDbgStatsView::expandAll() 795 905 { … … 801 911 setOpenTree(m_pRoot, false); 802 912 } 913 #endif /* QT3 */ 914 803 915 804 916 /*static*/ DECLCALLBACK(int) VBoxDbgStatsView::updateCallback(const char *pszName, STAMTYPE enmType, void *pvSample, STAMUNIT enmUnit, … … 918 1030 * Try find the name among the children of that parent guy. 919 1031 */ 1032 #ifdef VBOXDBG_USE_QT4 1033 QListViewItem *pChild = NULL; 1034 int cChildren = pParent->childCount(); 1035 for (int i = 0; i < cChildren; i++) 1036 { 1037 pChild = pParent->child(i); 1038 if (pChild->text(0) == NameStr) 1039 break; 1040 } 1041 #else 920 1042 QListViewItem *pChild = pParent->firstChild(); 921 1043 while (pChild && pChild->text(0) != NameStr) 922 1044 pChild = pChild->nextSibling(); 1045 #endif 1046 923 1047 if (pChild) 924 1048 pParent = (VBoxDbgStatsItem *)pChild; … … 927 1051 Log3(("createPath: %.*s\n", pszEnd - pszFullName, pszFullName)); 928 1052 NameStr = QString::fromUtf8(pszFullName, pszEnd - pszFullName); 1053 #ifdef VBOXDBG_USE_QT4 1054 QByteArray NameArray = NameStr.toUtf8(); 1055 pParent = new VBoxDbgStatsItem(NameArray.constData(), pParent); 1056 #else 929 1057 pParent = new VBoxDbgStatsItem(NameStr, pParent); 1058 #endif 930 1059 } 931 1060 pParent->setVisible(true); … … 940 1069 if (m_pContextMenuItem->isLeaf()) 941 1070 { 1071 #ifdef VBOXDBG_USE_QT4 1072 #else 942 1073 m_pLeafMenu->setItemEnabled(eReset, isVMOk()); 943 1074 m_pLeafMenu->setItemEnabled(eRefresh, isVMOk()); 1075 #endif 944 1076 m_pLeafMenu->popup(rPoint); 945 1077 } 946 1078 else 947 1079 { 1080 #ifdef VBOXDBG_USE_QT4 1081 #else 948 1082 m_pBranchMenu->setItemEnabled(eReset, isVMOk()); 949 1083 m_pBranchMenu->setItemEnabled(eRefresh, isVMOk()); 1084 #endif 950 1085 m_pBranchMenu->popup(rPoint); 951 1086 } … … 954 1089 { 955 1090 m_pContextMenuItem = NULL; 1091 #ifdef VBOXDBG_USE_QT4 1092 #else 956 1093 m_pViewMenu->setItemEnabled(eReset, isVMOk()); 957 1094 m_pViewMenu->setItemEnabled(eRefresh, isVMOk()); 1095 #endif 958 1096 m_pViewMenu->popup(rPoint); 959 1097 } … … 1110 1248 1111 1249 1112 VBoxDbgStats::VBoxDbgStats(PVM pVM, const char *pszPat/* = NULL*/, unsigned uRefreshRate/* = 0*/, 1113 QWidget *pParent/* = NULL*/, const char *pszName/* = NULL*/, WFlags f/* = 0*/) 1114 : QVBox(pParent, pszName, f), VBoxDbgBase(pVM), 1115 m_PatStr(pszPat), m_uRefreshRate(0) 1116 { 1250 VBoxDbgStats::VBoxDbgStats(PVM pVM, const char *pszPat/* = NULL*/, unsigned uRefreshRate/* = 0*/, QWidget *pParent/* = NULL*/) 1251 #ifdef VBOXDBG_USE_QT4 1252 : QWidget(pParent), 1253 #else 1254 : QVBox(pParent), 1255 #endif 1256 VBoxDbgBase(pVM), m_PatStr(pszPat), m_uRefreshRate(0) 1257 { 1258 #ifdef VBOXDBG_USE_QT4 1259 setWindowTitle("VBoxDbg - Statistics"); 1260 #else 1117 1261 setCaption("VBoxDbg - Statistics"); 1262 #endif 1118 1263 1119 1264 /* 1120 1265 * On top, a horizontal box with the pattern field, buttons and refresh interval. 1121 1266 */ 1267 #ifdef VBOXDBG_USE_QT4 1268 QHBoxLayout *pHLayout = new QHBoxLayout; 1269 1270 QLabel *pLabel = new QLabel(" Pattern "); 1271 pHLayout->addWidget(pLabel); 1272 pLabel->setMaximumSize(pLabel->sizeHint()); 1273 pLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); 1274 1275 m_pPatCB = new QComboBox(); 1276 pHLayout->addWidget(m_pPatCB); 1277 if (pszPat && *pszPat) 1278 m_pPatCB->addItem(pszPat); 1279 m_pPatCB->setDuplicatesEnabled(false); 1280 m_pPatCB->setEditable(true); 1281 connect(m_pPatCB, SIGNAL(activated(const QString &)), this, SLOT(apply(const QString &))); 1282 1283 QPushButton *pPB = new QPushButton("&All"); 1284 pHLayout->addWidget(pPB); 1285 pPB->setMaximumSize(pPB->sizeHint()); 1286 connect(pPB, SIGNAL(clicked()), this, SLOT(applyAll())); 1287 1288 pLabel = new QLabel(" Interval "); 1289 pHLayout->addWidget(pLabel); 1290 pLabel->setMaximumSize(pLabel->sizeHint()); 1291 pLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); 1292 1293 QSpinBox *pSB = new QSpinBox(); 1294 pHLayout->addWidget(pSB); 1295 pSB->setMinimum(0); 1296 pSB->setMaximum(60); 1297 pSB->setSingleStep(1.0); 1298 /* The reset of the spinbox setup is identical - bet they forgot to change something ;-) */ 1299 #else 1300 1122 1301 QHBox *pHBox = new QHBox(this); 1123 1302 … … 1141 1320 1142 1321 QSpinBox *pSB = new QSpinBox(0, 60, 1, pHBox, "Interval"); 1322 #endif 1143 1323 pSB->setValue(m_uRefreshRate); 1144 1324 pSB->setSuffix(" s"); … … 1150 1330 1151 1331 /* 1152 * Place the view at the top. 1153 */ 1154 m_pView = new VBoxDbgStatsView(pVM, this, pszName, f); 1332 * Create the tree view and setup the layout. 1333 */ 1334 #ifdef VBOXDBG_USE_QT4 1335 m_pView = new VBoxDbgStatsView(pVM, this); 1336 1337 QWidget *pHBox = new QWidget; 1338 pHBox->setLayout(pHLayout); 1339 1340 QVBoxLayout *pVLayout = new QVBoxLayout; 1341 pVLayout->addWidget(pHBox); 1342 pVLayout->addWidget(m_pView); 1343 this->setLayout(pVLayout); 1344 #else 1345 m_pView = new VBoxDbgStatsView(pVM, this); 1346 #endif 1155 1347 1156 1348 /* … … 1159 1351 */ 1160 1352 int iColumn = m_pView->sortColumn(); 1353 #ifdef VBOXDBG_USE_QT4 1354 m_pView->setUpdatesEnabled(false); 1355 m_pView->setSortingEnabled(false); 1356 refresh(); 1357 m_pView->sortItems(iColumn, Qt::AscendingOrder); 1358 // QTreeView::expandAll 1359 m_pView->expandAll(); 1360 for (int i = 0; i <= 8; i++) 1361 { 1362 printf("%#x: %d", i, m_pView->columnWidth(i)); 1363 m_pView->resizeColumnToContents(i); 1364 printf(" -> %d\n", m_pView->columnWidth(i)); 1365 } 1366 m_pView->setUpdatesEnabled(true); 1367 #else 1161 1368 m_pView->setSortColumn(-1); 1162 1369 refresh(); 1163 1370 m_pView->setSortColumn(iColumn); 1164 1371 m_pView->sort(); 1372 #endif 1165 1373 1166 1374 /* … … 1197 1405 if ((unsigned)iRefresh != m_uRefreshRate) 1198 1406 { 1407 #ifdef VBOXDBG_USE_QT4 1408 if (!m_uRefreshRate || iRefresh) 1409 m_pTimer->start(iRefresh * 1000); 1410 #else 1199 1411 if (!m_uRefreshRate) 1200 1412 m_pTimer->start(iRefresh * 1000); 1201 1413 else if (iRefresh) 1202 1414 m_pTimer->changeInterval(iRefresh * 1000); 1415 #endif 1203 1416 else 1204 1417 m_pTimer->stop(); -
trunk/src/VBox/Debugger/VBoxDbgStats.h
r12180 r12183 109 109 } 110 110 111 #ifdef VBOXDBG_USE_QT4 112 ///virtual bool operator<(const QTreeWidgetItem &other) const; 113 #else 111 114 /** 112 115 * Get sort key. … … 118 121 virtual QString key(int iColumn, bool fAscending) const 119 122 { 120 #ifdef VBOXDBG_USE_QT4121 /** @todo */ NOREF(iColumn); NOREF(fAscending);122 return "";123 #else124 123 return QListViewItem::key(iColumn, fAscending); 124 } 125 125 #endif 126 }127 126 128 127 /** … … 144 143 void copyTreeToClipboard(void) const; 145 144 145 #ifdef VBOXDBG_USE_QT4 146 void setVisible(bool fVisible) 147 { 148 setHidden(!fVisible); 149 } 150 151 bool isVisible() 152 { 153 return !isHidden(); 154 } 155 #endif 146 156 147 157 protected: … … 256 266 257 267 public: 258 #ifdef VBOXDBG_USE_QT4259 /** @todo */260 #else261 268 /** 262 269 * Creates a VM statistics list view widget. … … 264 271 * @param pVM The VM which STAM data is being viewed. 265 272 * @param pParent Parent widget. 266 * @param pszName Widget name. 267 * @param f Widget flags. 268 */ 269 VBoxDbgStatsView(PVM pVM, VBoxDbgStats *pParent = NULL, const char *pszName = NULL, WFlags f = 0); 270 #endif 273 */ 274 VBoxDbgStatsView(PVM pVM, VBoxDbgStats *pParent = NULL); 271 275 272 276 /** Destructor. */ … … 289 293 void reset(const QString &rPatStr); 290 294 295 #ifndef VBOXDBG_USE_QT4 291 296 /** 292 297 * Expand all items in the view. … … 298 303 */ 299 304 void collapsAll(); 305 #endif /* QT3 */ 300 306 301 307 private: … … 384 390 385 391 public: 386 #ifdef VBOXDBG_USE_QT4387 392 /** 388 393 * Creates a VM statistics list view widget. … … 394 399 */ 395 400 VBoxDbgStats(PVM pVM, const char *pszPat = NULL, unsigned uRefreshRate= 0, QWidget *pParent = NULL); 396 #else397 /**398 * Creates a VM statistics list view widget.399 *400 * @param pVM The VM this is hooked up to.401 * @param pszPat Initial selection pattern. NULL means everything. (See STAM for details.)402 * @param uRefreshRate The refresh rate. 0 means not to refresh and is the default.403 * @param pParent Parent widget.404 * @param pszName Widget name.405 * @param f Widget flags.406 */407 VBoxDbgStats(PVM pVM, const char *pszPat = NULL, unsigned uRefreshRate= 0, QWidget *pParent = NULL, const char *pszName = NULL, WFlags f = 0);408 #endif409 401 410 402 /** Destructor. */
Note:
See TracChangeset
for help on using the changeset viewer.