CppHighlighter.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @package ArmarX::
17* @author Mirko Waechter ( mirko.waechter at kit dot edu)
18* @date 2014
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25#include <QSyntaxHighlighter>
26
27namespace armarx
28{
29
30 class CppHighlighter : public QSyntaxHighlighter
31 {
32 public:
33 CppHighlighter(QTextDocument* parent);
34
35 protected:
36 void highlightBlock(const QString& text) override;
37
38 private:
39 struct HighlightingRule
40 {
41 QRegExp pattern;
42 QTextCharFormat format;
43 };
44
45 QVector<HighlightingRule> highlightingRules;
46
47 QRegExp commentStartExpression;
48 QRegExp commentEndExpression;
49
50 QTextCharFormat keywordFormat;
51 QTextCharFormat classFormat;
52 QTextCharFormat singleLineCommentFormat;
53 QTextCharFormat multiLineCommentFormat;
54 QTextCharFormat quotationFormat;
55 QTextCharFormat functionFormat;
56 };
57
58} // namespace armarx
void highlightBlock(const QString &text) override
CppHighlighter(QTextDocument *parent)
This file offers overloads of toIce() and fromIce() functions for STL container types.