void Plotter::paintEvent ( QPaintEvent*) { QPainter painter ( viewport() ); PaintContext ctx; ctx.setPainter ( &painter ); ctx.setRectangle ( QRectF ( 0, 0, width(), height() ) ); paint ( &ctx ); }
void LineDiagram::paintEvent ( QPaintEvent*) { //qDebug() << "starting LineDiagram::paintEvent ( QPaintEvent*)"; QPainter painter ( viewport() ); PaintContext ctx; ctx.setPainter ( &painter ); ctx.setRectangle ( QRectF ( 0, 0, width(), height() ) ); paint ( &ctx ); //qDebug() << " LineDiagram::paintEvent ( QPaintEvent*) ended."; }
void CartesianCoordinatePlane::paint ( QPainter* painter ) { // prevent recursive call: //qDebug("attempt plane::paint()"); if( d->bPaintIsRunning ){ return; } d->bPaintIsRunning = true; //qDebug() << "start plane::paint()"; AbstractDiagramList diags = diagrams(); if ( !diags.isEmpty() ) { PaintContext ctx; ctx.setPainter ( painter ); ctx.setCoordinatePlane ( this ); const QRectF drawArea( drawingArea() ); ctx.setRectangle ( drawArea ); // enabling clipping so that we're not drawing outside PainterSaver painterSaver( painter ); QRect clipRect = drawArea.toRect().adjusted( -1, -1, 1, 1 ); QRegion clipRegion( clipRect ); painter->setClipRegion( clipRegion ); // paint the coordinate system rulers: d->grid->drawGrid( &ctx ); // paint the diagrams: for ( int i = 0; i < diags.size(); i++ ) { if ( diags[i]->isHidden() ) { continue; } //qDebug(" start diags[i]->paint ( &ctx );"); PainterSaver diagramPainterSaver( painter ); diags[i]->paint ( &ctx ); //qDebug(" done: diags[i]->paint ( &ctx );"); } //for debugging: // painter->drawRect( drawArea.adjusted(4,4,-4,-4) ); // painter->drawRect( drawArea.adjusted(2,2,-2,-2) ); // painter->drawRect( drawArea ); } d->bPaintIsRunning = false; //qDebug("done: plane::paint()"); }