On Dec 6, 8:52 am, "Edward K. Ream" <[EMAIL PROTECTED]> wrote:

Success!  Rev 1294 contains code that completely interfaces the
jeditColorizer class with a subclass of QSyntaxHighlighter.  All code
is in qtGui.py.

The code appears to do the minimum possible processing.  Coloring is
fast and flicker free.  This is a big step forward.

Here is the checking log:

QQQ
The QSyntaxHighlighter is now fully hooked up with the jEdit pattern
matchers.

Some major hacks:

- The getPrevState and setCurrentState methods of the jeditColorizer
class maintain state that is much richer than a simple integer state.

- The setTag method clips a request for colorizing to the line being
colored.  This is
needed because QSyntaxHighlighter.setFormat expects offset to be
relative to the
single line being colored!
QQQ

I am proud of this work.  Some clever and tricky code is involved, but
the jEdit pattern matchers are completely unchanged.  Moreover, the
QSyntaxHighlighter class replaces all of the old threading and
"driver" code. This is a huge simplification.

The essential Aha is that we can use the QSyntaxHighlighter state
methods to maintain much richer state than a simple integer.  Using
this more complex state, the code can deduce the global offset of the
text being colored.

As stated above, another essential workaround is "clipping" coloring
requests to the line actually being colored.

Much more testing is needed, but the present code looks pretty solid.
Please report any problems immediately.

Edward

P.S. Rev 1294 contains some traces.  They will be removed soon.

EKR
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to