line number, symtax highlight, initial dark theme

This commit is contained in:
2026-02-01 15:21:11 +08:00
parent 20e91b4b0a
commit 480d628260
8 changed files with 306 additions and 9 deletions

View File

@@ -3,6 +3,9 @@
#include <ScintillaEdit.h>
#include <ILexer.h>
#include <QFont>
#include <QString>
class SciEdit : public ScintillaEdit
{
Q_OBJECT
@@ -18,6 +21,9 @@ public:
void setStyleFont(const QFont & font, int style = STYLE_DEFAULT);
void setFolding(FoldType foldType, int margin = 2);
void setLexer(Scintilla::ILexer5 * lexer);
void setLineNumbersEnabled(bool enabled);
void setEditorFont(const QFont &font);
void applyTheme(bool dark);
void sendColor(unsigned int iMessage, uptr_t wParam, const QColor &col) const;
signals:
@@ -26,4 +32,12 @@ signals:
private:
void setMarkerDefine(int markerNumber, int markerSymbol);
void updateLineNumberMarginWidth();
void applyLexerStyles();
bool m_lineNumbersEnabled = false;
int m_lastLineNumberDigits = 0;
bool m_isDarkTheme = false;
QFont m_editorFont;
QString m_lexerName;
};