QPixmap costPixmap(EventType* ct, ProfileCostArray* cost, double total, bool framed) { if (!ct) return QPixmap(); if (ct->isReal()) { QColor color = ct->color(); double p = 100.0 * cost->subCost(ct) / total; return percentagePixmap(COSTPIX_WIDTH, 10, (int)(p+.5), color, framed); } int maxIndex; double h[MaxRealIndexValue]; QColor* cs = ct->set()->realColors(); maxIndex = ct->histCost(cost, total, h); if (maxIndex ==0) return QPixmap(); return partitionPixmap(COSTPIX_WIDTH, 10, h, cs, maxIndex, framed); }
void CallerCoverageItem::update() { if (!_coverage) { setText(0, QString::null); setText(1, QString::null); return; } _pSum = 100.0 * _coverage->inclusive(); SubCost realSum = _base->inclusive()->subCost(_costType); _sum = SubCost(realSum * _coverage->inclusive()); QString str; if (Configuration::showPercentage()) str = QString("%1").arg(_pSum, 0, 'f', Configuration::percentPrecision()); else str = _sum.pretty(); if (_skipped) { setText(0, QString("< %1").arg(str)); return; } setText(0, str); setPixmap(0, partitionPixmap(25, 10, _coverage->inclusiveHistogram(), 0, Coverage::maxHistogramDepth, false)); // call count _cc = SubCost(_coverage->callCount()); setText(2, _cc ? _cc.pretty() : QString("(0)")); // distance (min/max/median) _distance = _coverage->inclusiveMedian(); QString distString; if (_coverage->minDistance() == _coverage->maxDistance()) distString = QString::number(_distance); else distString = QString("%1-%2 (%3)") .arg(_coverage->minDistance()) .arg(_coverage->maxDistance()) .arg(_distance); setText(1, distString); }
void CalleeCoverageItem::update() { if (!_coverage) { setText(0, QString::null); setText(1, QString::null); setText(2, QString::null); return; } _pSum = 100.0 * _coverage->inclusive(); // pSum/pSelf are percentages of inclusive cost of base SubCost realSum = _base->inclusive()->subCost(_costType); _sum = SubCost(realSum * _coverage->inclusive()); QString str; if (Configuration::showPercentage()) str = QString("%1").arg(_pSum, 0, 'f', Configuration::percentPrecision()); else str = _sum.pretty(); if (_skipped) { str = QString("< %1").arg(str); setText(0, str); setText(1, str); return; } setText(0, str); _pSelf = 100.0 * _coverage->self(); _self = SubCost(realSum * _coverage->self()); if (Configuration::showPercentage()) { setText(1, QString("%1") .arg(_pSelf, 0, 'f', Configuration::percentPrecision())); } else { setText(1, _self.pretty()); } setPixmap(0, partitionPixmap(25, 10, _coverage->inclusiveHistogram(), 0, Coverage::maxHistogramDepth, false)); setPixmap(1, partitionPixmap(25, 10, _coverage->selfHistogram(), 0, Coverage::maxHistogramDepth, false)); _cc = SubCost(_coverage->callCount()); setText(3, _cc ? _cc.pretty() : QString("(0)")); // for comparations _distance = _coverage->inclusiveMedian(); QString distString; if (_coverage->minDistance() == _coverage->maxDistance()) distString = QString::number(_distance); else { int sMed = _coverage->selfMedian(); QString med; if (_distance == sMed) med = QString::number(_distance); else med = QString("%1/%2").arg(_distance).arg(sMed); distString = QString("%1-%2 (%3)") .arg(_coverage->minDistance()) .arg(_coverage->maxDistance()) .arg(med); } setText(2, distString); }