void FoliationDrawing::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.translate(width() / 10.0, height() / 10.0);

    double folW = width() * 8 / 10.0;
    double folH = height() * 8 / 10.0;

    if(coloredFillingShown){
        paintFilling(m_foliation, painter, folW, folH);
    }

    painter.setPen(Qt::SolidLine);
    paintFoliation(m_foliation, painter, folW, folH);

    if(lengthsLabelsShown){
        painter.setFont(QFont("Times", lengthsFontSize));
        paintLengthLabels(m_foliation, painter, folW, folH);
    }

    if(permutationLabelsShown){
        painter.setFont(QFont("Times", permFontSize));
        paintPermutationLabels(m_foliation, painter, folW, folH);
    }

    if(pSepSegment){
        painter.setPen(QPen(Qt::blue, 2));
        paintSepSegment(*pSepSegment, painter, folW, folH);
    }

    if(pTransverseCurve){
        painter.setPen(QPen(Qt::red, 3));
        paintTransverseCurve(*pTransverseCurve, painter, folW, folH);

        if(touchingSepSegmentsShown){
            painter.setPen(QPen(Qt::darkGreen, 2, Qt::DashDotLine));
            paintTouchingSepSegments(*pTransverseCurve, painter, folW, folH);
        }
    }
}
Ejemplo n.º 2
0
  void drawComplexControl(QStyle::ComplexControl control,
                          const QStyleOptionComplex* option,
                          QPainter* painter,
                          const QWidget* widget) const
  {
    if (control == QStyle::CC_CustomBase) {
      const QRangeSlider* rSlider = static_cast<const QRangeSlider*>(widget);
      QRect bbox = rSlider->getBBox();
      QPair<int, int> range = rSlider->range();
      QPair<int, int> cutoffRange = rSlider->cutoffRange();
      paintGroove(*painter, bbox);

      paintFilling(*painter, bbox, range, cutoffRange);
      paintTicks(*painter, bbox, cutoffRange,
                 rSlider->tickInterval(), rSlider->isLogarithmic());
      paintMarker(*painter, bbox, range, cutoffRange, FIRST);
      paintMarker(*painter, bbox, range, cutoffRange, SECOND);
      return;
    }

    return realStyle_->drawComplexControl(control, option, painter, widget);
  }