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); } } }
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); }