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 <QList>
8
#include <QMutex>
9
#include <QTextCharFormat>
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
54
void
highlightAll
(
const
QString& txt,
bool
caseSensitivity)
55
{
56
highlightAllReg
.setPattern(txt);
57
if
(caseSensitivity)
58
highlightAllReg
.setCaseSensitivity(Qt::CaseSensitive);
59
else
60
highlightAllReg
.setCaseSensitivity(Qt::CaseInsensitive);
61
rehighlight();
62
}
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
{
82
HighlightingRule
rule
;
83
QVector<int>
indexes
;
84
QVector<int>
lengths
;
85
};
86
QVector<HighlightingRule>
highlightingRules
;
87
QRegExp
highlightAllReg
;
88
QMutex*
mutex
;
89
QHash<uint, QList<FormatCache>>
90
cache
;
91
};
92
93
}
94
}
95
#endif
daq::QTUtils::Highlighter::highlightAllReg
QRegExp highlightAllReg
regexp containing text to highlight
Definition
highlighter.hpp:87
daq::QTUtils::Highlighter::highlightingRules
QVector< HighlightingRule > highlightingRules
highlighting rules
Definition
highlighter.hpp:86
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:54
daq::QTUtils::Highlighter::mutex
QMutex * mutex
mutex to protect highlightBlock method
Definition
highlighter.hpp:88
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:90
daq::QTUtils::Highlighter::highlightBlock
void highlightBlock(const QString &text)
Definition
highlighter.cpp:22
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:23
daq::QTUtils::Highlighter::FormatCache
Definition
highlighter.hpp:81
daq::QTUtils::Highlighter::FormatCache::lengths
QVector< int > lengths
Definition
highlighter.hpp:84
daq::QTUtils::Highlighter::FormatCache::indexes
QVector< int > indexes
Definition
highlighter.hpp:83
daq::QTUtils::Highlighter::FormatCache::rule
HighlightingRule rule
Definition
highlighter.hpp:82
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.18.0