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 
27 namespace armarx
28 {
29 
30  class CppHighlighter : public QSyntaxHighlighter
31  {
32  public:
33  CppHighlighter(QTextDocument* parent);
34  protected:
35  void highlightBlock(const QString& text) override;
36 
37  private:
38  struct HighlightingRule
39  {
40  QRegExp pattern;
41  QTextCharFormat format;
42  };
43  QVector<HighlightingRule> highlightingRules;
44 
45  QRegExp commentStartExpression;
46  QRegExp commentEndExpression;
47 
48  QTextCharFormat keywordFormat;
49  QTextCharFormat classFormat;
50  QTextCharFormat singleLineCommentFormat;
51  QTextCharFormat multiLineCommentFormat;
52  QTextCharFormat quotationFormat;
53  QTextCharFormat functionFormat;
54  };
55 
56 } // namespace armarx
57 
armarx::CppHighlighter
Definition: CppHighlighter.h:30
armarx::CppHighlighter::CppHighlighter
CppHighlighter(QTextDocument *parent)
Definition: CppHighlighter.cpp:29
armarx::CppHighlighter::highlightBlock
void highlightBlock(const QString &text) override
Definition: CppHighlighter.cpp:83
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28