Computer Assisted Medical Intervention Tool Kit version 6.0
 
Loading...
Searching...
No Matches
SyntaxHighlighter.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2025 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6 *
7 * Visit http://camitk.imag.fr for more information
8 *
9 * This file is part of CamiTK.
10 *
11 * CamiTK is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * CamiTK is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * $CAMITK_LICENCE_END$
24 ****************************************************************************/
25
26#ifndef __SYNTAX_HIGHLIGHTER__
27#define __SYNTAX_HIGHLIGHTER__
28
29// -- Core stuff
30#include "CamiTKAPI.h"
31
32#include <QSyntaxHighlighter>
33#include <QRegularExpression>
34#include <QTextCharFormat>
35#include <QColor>
36
37namespace camitk {
62class CAMITK_API SyntaxHighlighter : public QSyntaxHighlighter {
63 Q_OBJECT
64
65public:
68 SyntaxHighlighter(QTextDocument* parent = nullptr) ;
69
76 void addRule(QString regexp, QColor color, int weight = QFont::Normal, bool italic = false, QColor backgroundColor = Qt::transparent);
77
80 bool removeRule(QString regexp);
81
82private:
84 QMap<QString, QRegularExpression> rules;
85
87 QMap<QString, QTextCharFormat> formatters;
88
90 QFont monospaceFont;
91
94 void highlightBlock(const QString& text) override;
95
98 void highlightPattern(const QString& text, const QString& pattern);
99
100};
101
102} // namespace camitk
103
104#endif // #define __SYNTAX_HIGHLIGHTER__
#define CAMITK_API
Definition CamiTKAPI.h:66
Base class for syntax highlighting.
Definition SyntaxHighlighter.h:62
Definition Action.cpp:40