DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
include
dbe
highlighter.hpp
Go to the documentation of this file.
1
#ifndef HIGHLIGHTER_H
2
#define HIGHLIGHTER_H
3
4
#include <QSyntaxHighlighter>
5
6
#include <QHash>
7
#include <QTextCharFormat>
8
#include <QMutex>
9
#include <QList>
10
11
class
QTextDocument;
12
namespace
daq
{
13
namespace
QTUtils
{
29
class
Highlighter
:
public
QSyntaxHighlighter
30
{
31
Q_OBJECT
32
33
public
:
34
Highlighter
(QTextDocument *parent = 0);
41
void
setRule
(QRegExp r, QTextCharFormat f)
42
{
43
HighlightingRule
rule;
44
rule.
pattern
= r;
45
rule.
format
= f;
46
highlightingRules
.append(rule);
47
cache
.clear();
48
49
}
50
55
void
highlightAll
(
const
QString &txt,
bool
caseSensitivity)
56
{
57
highlightAllReg
.setPattern(txt);
58
if
(caseSensitivity)
59
highlightAllReg
.setCaseSensitivity(Qt::CaseSensitive);
60
else
61
highlightAllReg
.setCaseSensitivity(Qt::CaseInsensitive);
62
rehighlight();
63
}
64
protected
:
65
void
highlightBlock
(
const
QString &text);
66
67
private
:
71
struct
HighlightingRule
72
{
73
QRegExp
pattern
;
74
QTextCharFormat
format
;
75
};
76
80
struct
FormatCache
{
81
HighlightingRule
rule
;
82
QVector<int>
indexes
;
83
QVector<int>
lengths
;
84
};
85
QVector<HighlightingRule>
highlightingRules
;
86
QRegExp
highlightAllReg
;
87
QMutex*
mutex
;
88
QHash<uint, QList<FormatCache> >
cache
;
89
};
90
91
}
92
}
93
#endif
daq::QTUtils::Highlighter::highlightAllReg
QRegExp highlightAllReg
regexp containing text to highlight
Definition
highlighter.hpp:86
daq::QTUtils::Highlighter::highlightingRules
QVector< HighlightingRule > highlightingRules
highlighting rules
Definition
highlighter.hpp:85
daq::QTUtils::Highlighter::setRule
void setRule(QRegExp r, QTextCharFormat f)
Definition
highlighter.hpp:41
daq::QTUtils::Highlighter::highlightAll
void highlightAll(const QString &txt, bool caseSensitivity)
Definition
highlighter.hpp:55
daq::QTUtils::Highlighter::mutex
QMutex * mutex
mutex to protect highlightBlock method
Definition
highlighter.hpp:87
daq::QTUtils::Highlighter::cache
QHash< uint, QList< FormatCache > > cache
stores result of formatting for a given QString text (using uint qHash(QString) method)
Definition
highlighter.hpp:88
daq::QTUtils::Highlighter::highlightBlock
void highlightBlock(const QString &text)
Definition
highlighter.cpp:21
daq::QTUtils::Highlighter::Highlighter
Highlighter(QTextDocument *parent=0)
ctor
Definition
highlighter.cpp:10
daq::QTUtils
Definition
FilterTextEdit.hpp:11
daq
Including ers headers.
Definition
config_api_graph.hpp:24
daq::QTUtils::Highlighter::FormatCache
Definition
highlighter.hpp:80
daq::QTUtils::Highlighter::FormatCache::lengths
QVector< int > lengths
Definition
highlighter.hpp:83
daq::QTUtils::Highlighter::FormatCache::indexes
QVector< int > indexes
Definition
highlighter.hpp:82
daq::QTUtils::Highlighter::FormatCache::rule
HighlightingRule rule
Definition
highlighter.hpp:81
daq::QTUtils::Highlighter::HighlightingRule
Definition
highlighter.hpp:72
daq::QTUtils::Highlighter::HighlightingRule::pattern
QRegExp pattern
Definition
highlighter.hpp:73
daq::QTUtils::Highlighter::HighlightingRule::format
QTextCharFormat format
Definition
highlighter.hpp:74
Generated on
for DUNE-DAQ by
1.17.0