diff options
| author | Dominik Wenger <domonoky@googlemail.com> | 2008-09-03 19:24:50 +0000 |
|---|---|---|
| committer | Dominik Wenger <domonoky@googlemail.com> | 2008-09-03 19:24:50 +0000 |
| commit | 254fa65c7b75f61147186d9f9146b89ee11b2b26 (patch) | |
| tree | bb5355f04275394ebfd2aa200abc44b188c08df9 /utils/wpseditor/gui/src/qsyntaxer.cpp | |
| parent | ca0de82cec434fcd4af827ff1a1d473667249338 (diff) | |
| download | rockbox-254fa65c7b75f61147186d9f9146b89ee11b2b26.zip rockbox-254fa65c7b75f61147186d9f9146b89ee11b2b26.tar.gz rockbox-254fa65c7b75f61147186d9f9146b89ee11b2b26.tar.bz2 rockbox-254fa65c7b75f61147186d9f9146b89ee11b2b26.tar.xz | |
WpsEditor: commit FS#9344 by Rostislav Chekan - multitarget support (only colour targets for now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18399 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/wpseditor/gui/src/qsyntaxer.cpp')
| -rw-r--r-- | utils/wpseditor/gui/src/qsyntaxer.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/utils/wpseditor/gui/src/qsyntaxer.cpp b/utils/wpseditor/gui/src/qsyntaxer.cpp new file mode 100644 index 0000000..412ca38 --- /dev/null +++ b/utils/wpseditor/gui/src/qsyntaxer.cpp @@ -0,0 +1,44 @@ +#include <QTextCharFormat>
+
+#include "qsyntaxer.h"
+
+QSyntaxer::QSyntaxer(QTextDocument *parent)
+ : QSyntaxHighlighter(parent) {
+ HighlightingRule rule;
+
+ hrules["operator"].pattern = QRegExp("%[^\\| \n<\\?%]{1,2}");
+ hrules["operator"].format.setFontWeight(QFont::Bold);
+ hrules["operator"].format.setForeground(Qt::darkBlue);
+
+
+ hrules["question"].pattern = QRegExp("%[\\?]{1}[^<]{1,2}");
+ hrules["question"].format.setForeground(Qt::darkMagenta);
+
+ hrules["question2"].pattern = QRegExp("(<|>)");
+ hrules["question2"].format.setForeground(Qt::red);
+
+
+ hrules["limiter"].pattern = QRegExp("\\|");
+ hrules["limiter"].format.setForeground(Qt::darkRed);
+
+ hrules["comment"].pattern = QRegExp("#[^\n]*");
+ hrules["comment"].format.setForeground(Qt::darkGreen);
+ hrules["comment"].format.setFontItalic(true);
+}
+//
+void QSyntaxer::highlightBlock(const QString &text) {
+ QTextCharFormat wholeText;
+ wholeText.setFont(QFont("arial",11,QFont::Normal));
+ setFormat(0,text.length(),wholeText);
+
+ foreach (HighlightingRule rule, hrules) {
+ QRegExp expression(rule.pattern);
+ int index = text.indexOf(expression);
+ while (index >= 0) {
+ int length = expression.matchedLength();
+ setFormat(index, length, rule.format);
+ index = text.indexOf(expression, index + length);
+ }
+ }
+
+}
|