summaryrefslogtreecommitdiff
path: root/utils/wpseditor/gui/src/qsyntaxer.cpp
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-09-03 19:24:50 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-09-03 19:24:50 +0000
commit254fa65c7b75f61147186d9f9146b89ee11b2b26 (patch)
treebb5355f04275394ebfd2aa200abc44b188c08df9 /utils/wpseditor/gui/src/qsyntaxer.cpp
parentca0de82cec434fcd4af827ff1a1d473667249338 (diff)
downloadrockbox-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.cpp44
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);
+ }
+ }
+
+}