[gelöst] QSyntaxHighlighter - Mehrzeiliger Kommentar
Verfasst: 28. März 2011 08:57
Hallo ich benutze QT3 und kann momentan nicht 4 benutzen.
Der mehrzeilige Kommentar funktioniert nicht richtig.
Trotz dass */ vorkommt. Werden alle Zeichen in der Zeile rot gezeichnet.
Hier der Code:
Der mehrzeilige Kommentar funktioniert nicht richtig.
Trotz dass */ vorkommt. Werden alle Zeichen in der Zeile rot gezeichnet.
Hier der Code:
Code: Alles auswählen
int SyntaxHighlighter::highlightParagraph(const QString & text, int endStateOfLastPara)
{
int index = 0;
int count = 0;
QStringList::iterator it = keywordList.begin();
setFormat(0, text.length(), textEdit()->font(), Qt::black);
int currentState = endStateOfLastPara;
if (endStateOfLastPara == NORMAL_STATE || endStateOfLastPara < 0)
{
if (text.contains("/*"))
{
setFormat(0, text.length(), commentFont, commentColor);
currentState = COMMENT_STATE;
}
else
{
while (it != keywordList.end())
{
count = text.contains(*it);
if (count)
{
for (int i = 0; i < count; i++)
{
index = text.find(*it);
setFormat(index, (*it).length(), keyFont, keyColor);
++index;
}
}
++it;
}
}
}
else if (endStateOfLastPara == COMMENT_STATE)
{
setFormat(0, text.length(), commentFont, commentColor);
if (text.contains("*/"))
currentState = NORMAL_STATE;
}
return currentState;
}