Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
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);
}