I'm not sure interrupting the coloring is an important use case. If we start coloring "lazily" (i.e. 0.5 - 1 sec after entering the node, users should not be massively bothered by it).
Rewriting C++ code in python is probably a bad idea performancewise. On Mon, Jul 1, 2013 at 6:24 PM, Edward K. Ream <edream...@gmail.com> wrote: > > On Mon, Jul 1, 2013 at 8:14 AM, Ville M. Vainio <vivai...@gmail.com>wrote: >> >>> Could we start by doing the coloring as we do now, but only request it ~ >>> 1sec after the node has been selected? This way, you wouldn't see the >>> slowdown from coloring when quickly moving around with cursor keys. >> >> > The more I think of this topic, the more, um, "interesting" it becomes. > > And I was wrong about qsh being just a wrapper. There is some "real" code > in the class. For example: QSyntaxHighlighterPrivate::reformatBlocks. > > By creating our own version of this code it may be possible to > "interruptable" coloring. The idea is to stop coloring when any event > appears. Of course, the problem then becomes how to restart coloring! The > answer will depend on whether the event causes the text to change. > > Perhaps this is a harder problem than I thought, or maybe the Qt people > just never thought that an interruptable syntax colorer would be useful. > > There are no guarantees, but a plausible first step would be to rewrite > qsh in Python. That way we will have full control over the scheduling of > calls to (the overridden) highlightBlock method. This is the gateway to > all of Leo's colorizing code. It calls the top-level recolor method, > providing we aren't in @killcolor mode. > > Edward > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to leo-editor+unsubscr...@googlegroups.com. > To post to this group, send email to leo-editor@googlegroups.com. > Visit this group at http://groups.google.com/group/leo-editor. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com. Visit this group at http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/groups/opt_out.