MCPcopy Create free account
hub / github.com/analogdevicesinc/scopy / lineNumberAreaPaintEvent

Method lineNumberAreaPaintEvent

core/src/scopycodeeditor.cpp:43–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43void ScopyCodeEditor::lineNumberAreaPaintEvent(QPaintEvent *event)
44{
45 QPainter painter(lineNumberArea);
46 painter.fillRect(event->rect(), Qt::lightGray);
47 QTextBlock block = firstVisibleBlock();
48 int blockNumber = block.blockNumber();
49 int top = qRound(blockBoundingGeometry(block).translated(contentOffset()).top());
50 int bottom = top + qRound(blockBoundingRect(block).height());
51 while(block.isValid() && top <= event->rect().bottom()) {
52 if(block.isVisible() && bottom >= event->rect().top()) {
53 QString number = QString::number(blockNumber + 1);
54 painter.setPen(Qt::black);
55 painter.drawText(0, top, lineNumberArea->width(), fontMetrics().height(), Qt::AlignRight,
56 number);
57 }
58
59 block = block.next();
60 top = bottom;
61 bottom = top + qRound(blockBoundingRect(block).height());
62 ++blockNumber;
63 }
64}
65
66int ScopyCodeEditor::lineNumberAreaWidth()
67{

Callers 1

paintEventMethod · 0.80

Calls 5

topMethod · 0.80
isValidMethod · 0.45
isVisibleMethod · 0.45
setPenMethod · 0.45
nextMethod · 0.45

Tested by

no test coverage detected