/
MSyntaxHighlighterParamsTest.cpp
45 lines (41 loc) · 1.88 KB
/
MSyntaxHighlighterParamsTest.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "MSyntaxHighlighterParamsTest.h"
#include <QMessageBox>
//============================================================================================
MSyntaxHighlighterParamsTest::MSyntaxHighlighterParamsTest(QTextDocument* parent, QList<QString>* pListParamsChannel,
int iFirstItemListParamsChannel, int deltaNItemListParamsChannel) // QList<QString> *pListParamsNameTest, QList<int> *pListParamsRangeTest)
: QSyntaxHighlighter(parent), PListParamsChannel(pListParamsChannel),
IFirstItemListParamsChannel(iFirstItemListParamsChannel), DeltaNItemListParamsChannel(deltaNItemListParamsChannel)
{
InitBegin();
}
//--------------------------------------------------------------------------------------------
MSyntaxHighlighterParamsTest::~MSyntaxHighlighterParamsTest()
{
}
//--------------------------------------------------------------------------------------------
void MSyntaxHighlighterParamsTest::InitBegin()
{
IListItem = IFirstItemListParamsChannel;
}
//--------------------------------------------------------------------------------------------
void MSyntaxHighlighterParamsTest::highlightBlock(const QString& text)
{
int pos = text.indexOf((*PListParamsChannel)[IListItem], 0, Qt::CaseSensitive);
if(pos >= 0)
{
pos += (*PListParamsChannel)[IListItem].length();
QString s = text.mid(pos);
if(!s.isEmpty())
{
float param = s.toFloat();
QColor color;
if((*PListParamsChannel)[IListItem+1].toFloat() <= param && param <= (*PListParamsChannel)[IListItem+2].toFloat())
color = QColor(0,255,0);
else
color = QColor(255,0,0);
setFormat(pos, s.length(), color);
IListItem += DeltaNItemListParamsChannel;
}
}
}
//--------------------------------------------------------------------------------------------