Source Code (Use browser search to find items of interest.)
Class Index
kdevelop'GenHighlight (./kdevelop/kdevelop/kwrite/highlight.h:390)
class GenHighlight : public Highlight {
public:
GenHighlight(const QString &name);
virtual int doHighlight(int ctxNum, TextLine *);
protected:
virtual void makeContextList() = 0;
virtual void init();
virtual void done();
static const int nContexts = 32;
HlContext *contextList[nContexts];
};
kdevelop'GenHighlight::GenHighlight() (./kdevelop/kdevelop/kwrite/highlight.cpp:1039)
GenHighlight::GenHighlight(const QString &name) : Highlight(name) {
}
kdevelop'GenHighlight::doHighlight() (./kdevelop/kdevelop/kwrite/highlight.cpp:1043)
int GenHighlight::doHighlight(int ctxNum, TextLine *textLine) {
HlContext *context;
const QChar *str, *s1, *s2;
QChar lastChar;
HlItem *item;
context = contextList[ctxNum];
str = textLine->getString();
lastChar = '\0';
s1 = str;
while (*s1 != '\0') {
for (item = context->items.first(); item != 0L; item = context->items.next()) {
if (item->startEnable(lastChar)) {
s2 = item->checkHgl(s1);
if (s2 > s1) {
if (item->endEnable(*s2)) {
textLine->setAttribs(item->attr,s1 - str,s2 - str);
ctxNum = item->ctx;
context = contextList[ctxNum];
s1 = s2 - 1;
goto found;
}
}
}
}
// nothing found: set attribute of one char
textLine->setAttribs(context->attr,s1 - str,s1 - str + 1);
found:
lastChar = *s1;
s1++;
}
//set "end of line"-properties
textLine->setAttr(context->attr);
//return new context
return context->ctx;
}
kdevelop'GenHighlight::init() (./kdevelop/kdevelop/kwrite/highlight.cpp:1083)
void GenHighlight::init() {
int z;
for (z = 0; z < nContexts; z++) contextList[z] = 0L;
makeContextList();
}
kdevelop'GenHighlight::done() (./kdevelop/kdevelop/kwrite/highlight.cpp:1090)
void GenHighlight::done() {
int z;
for (z = 0; z < nContexts; z++) delete contextList[z];
}