12 const QRegExp VuoNodeClassListItemHighlighter::nodeNameTokenDelimiter = QRegExp(
"\\s+");
13 const QRegExp VuoNodeClassListItemHighlighter::nodeClassNameTokenDelimiter = QRegExp(
"\\.");
19 QSyntaxHighlighter(parent)
21 nodeClassNameStartIndex = 0;
29 QTextCharFormat highlightedTextFormat;
30 highlightedTextFormat.setFontWeight(QFont::Bold);
32 for (vector<QString>::iterator term = targetTerms.begin(); term != targetTerms.end(); ++term)
34 int length = (*term).length();
35 QStringMatcher textFilterPattern((*term), Qt::CaseInsensitive);
36 int index = textFilterPattern.indexIn(text);
41 QRegExp currentDelimiter = (index < nodeClassNameStartIndex? nodeNameTokenDelimiter:nodeClassNameTokenDelimiter);
43 (index == nodeClassNameStartIndex) ||
44 (currentDelimiter.exactMatch(text.at(index-1))) ||
45 ((index > nodeClassNameStartIndex) &&
47 (QRegExp(
"([a-z0-9])").exactMatch(text.at(index-1)) && QRegExp(
"([A-Z])").exactMatch(text.at(index)))))
48 setFormat(index, length, highlightedTextFormat);
50 index = textFilterPattern.indexIn(text, index + length);
60 targetTerms.push_back(term);
70 nodeClassNameStartIndex = index;