5 #include <QPlainTextEdit>
14 class CodeEditor : public QPlainTextEdit {
18 CodeEditor(QWidget *parent = 0);
20 void lineNumberAreaPaintEvent(QPaintEvent *event);
21 int lineNumberAreaWidth();
24 void resizeEvent(QResizeEvent *event) override;
27 void updateLineNumberAreaWidth(int newBlockCount);
28 void highlightCurrentLine();
29 void updateLineNumberArea(const QRect &, int);
32 QWidget *lineNumberArea;
35 class LineNumberArea : public QWidget {
37 LineNumberArea(CodeEditor *editor) : QWidget(editor)
42 QSize sizeHint() const override
44 return QSize(codeEditor->lineNumberAreaWidth(), 0);
48 void paintEvent(QPaintEvent *event) override
50 codeEditor->lineNumberAreaPaintEvent(event);
54 CodeEditor *codeEditor;